C/C++에서 존재했던 Enum이 이전 자바에 존재하지 않아서 아래와 같은 형태로 사용했었습니다.
1 2 3 4 5 6 | class Status { public static final int START = 0; public static final int STOP = 1; public static final int PAUSE = 2; public static final int RESUME = 3; } |
하지만 여기에는 몇가지 한계가 존재합니다. 타입에 대한 안전성을 보장하지 않습니다. START의 값이 0이 될 수도 있고 1이 될 수도 있고 무엇하나 START를 대표하는 값이 될 수 없습니다. 이름에 대한 값을 보장하지 않습니다. START를 출력하려고 한다면 0이 반환되어 이름대신 숫자를 출력하게 될 것 입니다. […]