정리

열거타입은 거의 모든 상황에서 타입 안전 열거패턴보다 우수하다. 단, 예외가 하나 있으니, 타입안전 열거패턴은 확장할 수 있으나 열거타입은 그럴수 없다는 점이다. 실수로 이렇게 설계한것은 아니다. 사실 대부분 상황에서 열거타입을 확장하는 건 좋지 않은 생각이다. 확장할 수 있는 열거 타입이 어울리는 쓰임이 최소한 하나는 있다. 바로 연산코드다.\

핵심정리

열거타입 자체는 확장할 수 없지만, 인터페이스와 그 인터페이스를 구현하는 기본 열거타입을 함께 사용해 같은 효과를 낼 수 있다. 이렇게 하면 클라이언트는 이 인터페이스를 구현해 자신만의 열거타입을 만들 수 있다. 그리고 API가(기본 열거타입을 직접명시하지 않고) 인터페이스기반으로 작성되었다면 기본 열거타입의 인스턴스가 쓰는 모든 곳을 새로 확장한 열거 타입의 인스턴스로 대체해 사용할 수 있다.