public static final int APPLE_FUJI = 0;
public static final int APPLE_PIPPIN = 1;
public static final int APPLE_GRANNY_SMITH = 2;
public static final int ORANGE_NAVEL = 0;
public static final int ORANGE_TEMPLE = 1;
public static final int ORANGE_BLOOD = 2;
이런 상수 데이터들이 인터페이스나 상수 집합 클래스에 표현되는 형식으로 열거 상수 표현을 수행했었습니다.
위의 표현 방식의 단점은 여러가지가 있습니다.
먼저 타입 안전을 보장할 방법이 없으며, 표현력 역시 좋지 않습니다.
또한 정수 상수에 대한 이름공간(namespace)를 지원하지 않기 때문에 반드시 접두어로 해당 상수의 이름공간을 포함시켜주어야 합니다.
정수 열거 패턴을 사용한 프로그램은 깨지기 쉽습니다.
문자열로 출력하기가 다소 까다로운 것도 있습니다.
이런 정수 열거 패턴 이외에도 문자열로 처리하는 문자열 열거 패턴도 있으나 정수 열거 패턴보다 더 좋지 않습니다.