Item20 - 추상 클래스보다 인터페이스를 우선하라.
인터페이스의 장점 1. 구현이 명백한 것은 인터페이스의 디폴트 메서드를 사용해 프로그래머의 일감을 덜어 줄 수 있다. 2. 기존 클래스도 손쉽게 새로운 인터페이스를 구현해 넣을 수 있다. 자바는 단일 상속만 허용하기 때문에 추상 클래스는 제약이 매우 크지만 인터페이스는 선언한 메서드만 정의하고 그 규약을 잘 지킨다면 어떤 클래스를 상속했든 같은 타입으로 취급된다. 3. 인터페이스는 믹스인 정의에 안성맞춤이다. 믹스인이란 클래스가 구현할 수 있튼 타입으로 클래스의 주된 타입 외에도 특정 선택적 생위를 제공한다고 선언하는 효과를 준다. ex) Comparable 4. 계층 구조가 없는 타입 프레임워크를 만들 수 있다. 타입을 계층적으로 정의하면 수많은 개념을 구조적으로 잘 표현할 수 있지만, 구분하기 어려운..
2023.12.02