열거 타입과 확장 열거 타입은 거의 모든 상황에서 타입 안전 열거 패턴보다 우수하지만 확장하는 것은 좋지 않음 확장 타입의 원소는 기반 타입의 원소로 취급하지만 그 반대는 성립하지 않음 기반 타입과 확장 타입의 원소 모두 순회할 방법도 마땅치 않음 확장성을 높이려면 고려할 요소가 늘어남 확장 가능한 열거 타입 public interface Operation { double apply(double x, double y); } public enum BasicOperation implements Operation { PLUS("+") { public double apply(double x, double y) { return x + y; } }, MINUS("-") { public double apply(dou..