인터페이스

    [Effective Java] item 21+22. 인터페이스는 구현하는 쪽을 생각해 설계하라, 인터페이스는 타입을 정의하는 용도로만 사용하라

    본문은 Effective Java를 읽고 정리한 내용을 기반으로 작성된 글입니다. [item 21. 인터페이스는 구현하는 쪽을 생각해 설계하라] ☑️ 생각할 수 있는 모든 상황에서 불변식을 해치지 않는 디폴트 메서드를 작성하기란 어려운 법이다 최대한 범용적으로 구현하더라도 현존하는 모든 Collection 구현체와 잘 어우러지는 것은 아니다 → 컴파일에 성공하더라도 기존 구현체에 런타임 오류 발생시키기 가능 ☑️ 디폴트 메서드라는 도국 생겼더라도, 인터페이스를 설계할 때는 여전히 세심한 주의를 기울여야 한다. 릴리즈 전에 테스트하여 결함 찾아내기 [item 22. 인터페이스는 타입을 정의하는 용도로만 사용하라] ☑️ 인터페이스 : 자신을 구현한 클래스의 인스턴스를 참조할 수 있는 타입 역할 → 자신의 인..