[Effective-Java] Chapter6 #38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
·
Reference/Effective-Java
💡핵심 정리 열거 타입 자체는 확장할 수 없다. 하지만 인터페이스와 그 인터페이스를 구현하는 기본 열거 타입을 함께 사용해 같은 효과를 낼 수 있다. 클라이언트는 해당 인터페이스 구현을 통해 자신만의 열거 타입(혹은 다른 타입)을 만들 수 있다. API가 (기본 열거 타입을 직접 명시하지 않고) 인터페이스 기반으로 작성되었다면, 기본 열거 타입의 인스턴스가 쓰이는 모든 곳을 새로 확장한 열거 타입의 인스턴스로 대체해 사용할 수 있다. → 한정적 와일드카드 타입(Item 31) 📌 타입 안전 열거 패턴(typesafe enum pattern)과 열거 패턴(enum pattern) // jdk 1.5 이전의 방식 public final class Direction { public static final Di..