일반적으로 다중 구현용 타입으로는 이터페이스가 가장 적합하다. 복잡한 인터페이스라면 구현하는 수고를 덜어주는 골격 구현을 함께 제공하는 방법을 꼭 고려해보자. 골격 구현은 '가능한 한' 인터페이스의 디폴트 메서드로 제공하여 그 인터페이스를 구현한 모든 곳에서 활용하도록 하는 것이 좋다. '가능한 한'이라고 한 이유는, 인터페이스에 걸려 있는 구현상의 제약때문에 골격 구현을 추상 클래스로 제공하는 경우가 더 흔하기 때문이다.
'책 > EFFECTIVE JAVA' 카테고리의 다른 글
[클래스와 인터페이스]아이템22. 인터페이스는 타입을 정의하는 용도로만 사용하라 (1) | 2024.10.11 |
---|---|
[클래스와 인터페이스]아이템21. 인터페이스는 구현하는 쪽을 생각해 설계하라 (0) | 2024.10.11 |
[클래스와 인터페이스]아이템19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라 (1) | 2024.10.11 |
[클래스와 인터페이스]아이템18. 상속보다는 컴포지션을 사용하라 (1) | 2024.10.08 |
[클래스와 인터페이스]아이템17. 변경 가능성을 최소화하라 (0) | 2024.07.25 |