인터페이스는 클래스에 자신이 어떤 기능을 할 수 있는지를 알려주는 역할이다. 인터페이스는 오직! 이 용도로만 사용되어야 한다.
이 용도 외에 잘못 설계된 예시가 있는데, 바로 상수 인터페이스
이다. 상수 인터페이스는 static final 필드로만 이루어진 인터페이스다. 이러한 설계는 잘못된 예시이다. 상수는 내부적 구현으로 만들어야 하는데 외부 API로 공개한 꼴이 된다.
또한 새 릴리즈로 이 상수들을 쓰지 않더라도 바이너리 호환성을 위해 그대로 구현하고 있어야 하는 단점도 있다.
그러면 어떤 방식으로 상수를 만들어야 할까?