728x90
반응형
개념
abstract와 Interface는 둘 다 정의된 내용의 구현을 강제하기 위해서 사용된다는 개념적인 공통점이 있다.
그러나, 사용 방법에 대한 차이점들이 있고 이는 상황에 따라 Interface로 구현하느냐, abstract로 구현하느냐로 달라질 수 있다.
Interface와 abstract의 차이
abstract는 메서드나 변수 등을 가질 수 있다.
Interface는 순수 가상 함수 및 프로퍼티만 가질 수 있다. (프로퍼티 안의 정의는 불가능하다)
abstract는 다중 상속이 불가능하다.
Interface는 다중 상속이 가능하다.
abstract는 생성자를 가질 수 있다.
Interface는 생성자를 가질 수 없다.
abstract는 변수를 가질 수 있다.
Interface는 변수를 가질 수 없다.
abstract는 내부에 접근 제한자를 가질 수 있다.
Interface는 내부에 접근 제한자를 가질 수 없다. (강제 public이다!)
아래 링크에도 interface와 abstract의 차이를 코드로 설명하고 있다.
아래 링크를 보는 것이 더 와닿을 수도 있다.
반응형
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
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 |