-
아이템 22) 인터페이스는 타입을 정의하는 용도로만 사용하라책/이펙티브 자바 3e 2022. 3. 3. 14:29
아이템22) 인터페이스는 타입을 정의하는 용도로만 사용하라
- 인터페이스는 자신을 구현한 클래스의 인스턴스를 참조할 수 있는 타입 역할을 함
- 즉, 인터페이스로 무엇을 할 수 있는지를 클라이언트에 얘기해주는 것
- 인터페이스를 상수 공개용 수단으로 사용하지 말자
상수 인터페이스 안티패턴 - 사용금지!
public interface Constants { static final int MAX = 9; static final int MIN = 0; }
상수 유틸리티 클래스 - 이걸 사용하자
public class Constants { private Constants() {} //인스턴스화 방지 static final int MAX = 9; static final int MIN = 0; }
'책 > 이펙티브 자바 3e' 카테고리의 다른 글
아이템17) 변경 가능성을 최소화하라 (0) 2022.03.05 아이템 16) public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라 (0) 2022.03.05 아이템 15) 클래스와 멤버의 접근 권한을 최소화하라 (p96-101) (0) 2022.03.01 item4) 인스턴스화를 막으려거든 private 생성자를 사용하라 (0) 2022.02.24