반응형
추상 클래스
- 구현된 메서드를 포함할 수 있다.
- 추상클래스가 규정하는 자료형을 구현하기 위해서는 추상 클래스를 반드시 계승해야 한다
- 자바는 다중상속을 허용하지 않기 때문에 추상클래스로 자료형을 사용하는데에는 많은 제약이 있다.
인터페이스
- java 1.8부터 default메서드를 통해 인터페이스에서도 구현을 포함할 수 있다.
- 인터페이스에 포함된 모든 메서드를 정의하고 인터페이스가 규정하는 일반 규약을 지키기만 하면 되며 그렇게 만든 클래스는 클래스 계층에 속할 필요가 없다.
인터페이스의 장점
- Mix-IN을 정의하는데 이상적이다. (주 자료형 이외에 추가적으로 구현할 수 있는 자료형)
- 비 계층적인 자료형 프레임워크를 만들 수 있도록 한다.
- Wrapper 클래스 숙어를 통해 안전하면서도 강력한 기능 개선이 가능하다.
반응형
'IT > Programming' 카테고리의 다른 글
<Effective Java> RULE 16 계승하는 대신 구성하라 (0) | 2023.04.27 |
---|---|
<Effective Java> RULE 17 계승을 위한 설계와 문서를 갖추거나, 그럴 수 없다면 계승을 금지하라 (0) | 2023.04.27 |
<Effective Java> RULE 19 인터페이스는 자료형을 정의할 때만 사용하라 (0) | 2023.04.27 |
<Effective Java> RULE 20 태그달린 클래스 대신 클래스 계층을 활용하라 (0) | 2023.04.27 |
<Effective Java> RULE 21 전략을 표현하고 싶을 때는 함수 객체를 사용하라 (0) | 2023.04.27 |