티스토리 뷰
전에 작성한 글 참고
추상클래스: http://aftersiesta.tistory.com/5
인터페이스: http://aftersiesta.tistory.com/4
추상클래스와 인터페이스를 비교해보자.
공통점
추상클래스(abstract class)와 인터페이스(interface)를 공부하다보면 굉장히 비슷하다는 것을 알 수 있다.
둘다 자식클래스에게 구현을 강조해 틀을 잡는 역할을 한다.
그리고 new로 객체를 생성할 수 없고 추상클래스는 상속, 인터페이스는 구현을 통해 객체를 생성해야 한다.
차이점
추상클래스- 참조 타입(reference type)이 class다.
인터페이스- 참조 타입(reference type)이 interface다.
추상클래스- extends를 통해 객체를 생성 가능하다.(상속)
인터페이스- implements를 통해 객체를 생성 가능하다.
추상클래스- 클래스하나가 한번에 다중 상속 불가능(extends)
인터페이스- 인터페이스끼리 다중 상속도 가능하고 클래스는 인터페이스 다중 구현이 가능하다(implements)
※한 클래스에서 extneds와 implements를 동시에 사용 가능하다.
추상클래스- 메소드 구현이 가능하다. 그리고 추상클래스를 상속받은 자식클래스에서 그 메소드를 선택적으로 가져다 쓸 수 있다.
인터페이스- 메소드 구현이 불가능하다. 전부 abstract 메서드다.
마지막으로 코멘트를 추가하자면 인터페이스는 추상클래스의 극단적인 형태라고 볼 수 있다.(맴버로 추상 메소드와 상수만 허용)
'IT' 카테고리의 다른 글
크롤링, 스크래핑, 파싱 차이 (용어 정리) (0) | 2018.04.16 |
---|---|
[JAVA] 제어자(modifier), 접근제어자(access modifier) (0) | 2018.04.09 |
[JAVA] 추상메서드, 추상클래스 (abstract) (0) | 2018.03.22 |
[JAVA] 인터페이스 (0) | 2018.03.18 |
정규표현식(정규식) - javascript (0) | 2018.03.04 |
댓글
최근에 올라온 글
TAG