개념
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 |