인터페이스는 타입을 정의하는 용도로만 사용하라!계속해서 인터페이스 이야기가 나온다. 자신을 구현한 클래스의 인스턴스를 참조할 수 있는 타입 역할을 한다고 한다. 즉, 클래스가 특정 인터페이스를 구현하면, 클라이언트로부터 자신의 인스턴스로 할 수 있는 것을 알려주는 것이다. 그리고, 인터페이스는 오직 이 용도로 사용해야 한다.다만 가끔 일부 사람들이 상수 인터페이스라는 것을 사용하는데, 이는 오직 static final 필드로만 가득 찬 인터페이스이다. 그러나 명시해야 할 점은, 우리가 클래스 내부에서 사용하는 상수는 외부 인터페이스의 역할이 아니다. 어찌보면 내부 API 구현의 일부를 바깥에 공개해버리는 꼴이 된다! 게다가 상황에 따라 해당 상수를 사용하지 않더라도 컴파일 과정에서의 하위호환을 위해 해당..