Java version 1.5부터 도입된 서로 연관된 상수들의 집합인 열거형 클래스
enum Status {
PROCEEDING, COMPLETE;
}
=
class Status {
public static final Status PROCEEDING = new Status();
public static final Status COMPLETE = new Status();
}
기존의 String type의 상수는
public static final String
으로 정의하였는데, 런타임 에러 등 프로그램의 치명적인 오작동을 초래할 수 있다는 문제점을 해결하기 위해 활용한다.
이를 활용하면
코드가 단순해지며 가독성이 향상되고,
instance 생성과 상속을 방지하여 컴파일 시 상수값의 type stability가 보장된다.