본문 바로가기

Dev Book Review/Effective Java

[Effective Java] item22. 인터페이스는 타입을 정의하는 용도로만 사용하라

728x90

인터페이스의 용도 : 자신의 인스턴스로 무엇을 할 수 있는지를 클라이언트에 얘기해준다.

 

상수인터페이스는 만들지 말자

  • 외부 인터페이스가아닌 내부구현에 해당하며 클래스의 API로 노출하는 행위이다.
 

상수를 공개하고 싶을때

  • 연관된 클래스나 인터페이스에서 공개 : Integer.MIN_VALUE
  • Enum
  • 인스턴스화 할수 없는 유틸 클래스
  public final class StringConstants{
    public static final String BRANK = "";
    private StringConstants(){}
  }