본문 바로가기

프로그래밍/기본기ㆍ자료구조

Interface와 abstract의 차이

728x90
반응형

개념

abstract와 Interface는 둘 다 정의된 내용의 구현을 강제하기 위해서 사용된다는 개념적인 공통점이 있다.

그러나, 사용 방법에 대한 차이점들이 있고 이는 상황에 따라 Interface로 구현하느냐, abstract로 구현하느냐로 달라질 수 있다.

Interface와 abstract의 차이

abstract는 메서드나 변수 등을 가질 수 있다.

Interface는 순수 가상 함수 및 프로퍼티만 가질 수 있다. (프로퍼티 안의 정의는 불가능하다)

abstract는 다중 상속이 불가능하다.

Interface는 다중 상속이 가능하다.

abstract는 생성자를 가질 수 있다.

Interface는 생성자를 가질 수 없다.

abstract는 변수를 가질 수 있다.

Interface는 변수를 가질 수 없다.

abstract는 내부에 접근 제한자를 가질 수 있다.

Interface는 내부에 접근 제한자를 가질 수 없다. (강제 public이다!)

 

 

 

아래 링크에도 interface와 abstract의 차이를 코드로 설명하고 있다.

아래 링크를 보는 것이 더 와닿을 수도 있다.

 

Abstract (추상)

개념 - 상황에 맞게 내용을 재정의해서 사용할 수 있는 개념이다. - 상속하는 클래스 내에서 같은 시그니처의 메소드로 오버라이딩 될 수 있다. - Virtual(가상)과는 달리 선언한 추상 함수는 상속받은 하위 클래..

chipmunk-plump-plump.tistory.com

 

다람쥐와 포동포동이

 

 

RememberCook 9월 28일 정식 출시!

두번째 게임인 RememberCook이 출시되었습니다. 귀여운 캐릭터들이 나오는 간단한 게임이며 플레이어의 공간인지능력을 테스트하는 게임입니다. 아래 링크를 통해 다운 받으실 수 있으니 많은 관��

chipmunk-plump-plump.tistory.com

반응형

'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글

GimbalLock (짐벌락)  (0) 2020.04.12
Sealed (상속 한정 키워드)  (0) 2020.04.11
Interface (인터페이스)  (0) 2020.04.11
Abstract (추상)  (0) 2020.04.10
Virtual (가상 메소드)  (0) 2020.04.10