아이템 20

    [Effective Java] item 20. 추상 클래스보다는 인터페이스를 우선하라 *

    본문은 Effective Java를 읽고 정리한 내용을 기반으로 작성된 글입니다. 추상 클래스 >인터페이스 >인터페이스+추상 골격 구현 클래스 [인터페이스와 추상 클래스] ☑️ 추상 클래스 단일 상속만 가능 구현 → 추상 클래스의 하위 클래스가 된다. 기존 클래스 위에 새로운 추상 클래스를 끼워넣기는 어렵다. ☑️ 인터페이스 다중 상속 가능 구현 → 같은 타입으로 취급된다. 기존 클래스에도 손쉽게 새로운 인터페이스를 구현해넣을 수 있다. → 믹스인 정의에 안성맞춤 ☑️ 계층구조가 없는 타입 프레임워크 ex) 다음 코드는 아무런 문제가 되지 않는다. public interface Singer { AudioClip sing(Song song); } public interface SongWriter{ Song..