IT/Programming
<Effective Java> RULE 18 추상 클래스 대신 인터페이스를 사용하라
Thnk
2023. 4. 27. 09:43
반응형
추상 클래스
- 구현된 메서드를 포함할 수 있다.
- 추상클래스가 규정하는 자료형을 구현하기 위해서는 추상 클래스를 반드시 계승해야 한다
- 자바는 다중상속을 허용하지 않기 때문에 추상클래스로 자료형을 사용하는데에는 많은 제약이 있다.
인터페이스
- java 1.8부터 default메서드를 통해 인터페이스에서도 구현을 포함할 수 있다.
- 인터페이스에 포함된 모든 메서드를 정의하고 인터페이스가 규정하는 일반 규약을 지키기만 하면 되며 그렇게 만든 클래스는 클래스 계층에 속할 필요가 없다.
인터페이스의 장점
- Mix-IN을 정의하는데 이상적이다. (주 자료형 이외에 추가적으로 구현할 수 있는 자료형)
- 비 계층적인 자료형 프레임워크를 만들 수 있도록 한다.
- Wrapper 클래스 숙어를 통해 안전하면서도 강력한 기능 개선이 가능하다.
반응형