출처 : 열혈 java 프로그래밍
열거형 값은 해당 자료형의 인스턴스이다
public class EnumTest {
enum TestEnum {
일,
이,
삼;
@Override
public String toString() {
return "TestEnum ToString";
}
}
public static void main(String[] args) {
System.out.println(TestEnum.일);
System.out.println(TestEnum.이);
}
}
열거형 값 일, 이, 삼이 EnumTest 클래스의 인스턴스이므로 toString을 통해 다음과 같이 값을 출력할 수 있다.
열거형도 생성ㅇ자를 따로 선언하지 않으면 디폴트 생성자가 삽입된다. 하지만 private으로 생성되어 열거형 인스턴스를 직접 생성할 수는 없다.
열거형에 필드를 선언할 수 있다.
public class EnumTest {
enum TestEnum {
일(1),
이(2),
삼(3);
public int value;
TestEnum(int value){
this.value = value;
}
public int getValue(){
return value;
}
}
public static void main(String[] args) {
System.out.println(TestEnum.일);
System.out.println(TestEnum.이);
System.out.println(TestEnum.삼);
System.out.println(TestEnum.일.getValue());
}
}
열거형 값이 해당 자료형의 객체이므로 필드를 선언할 수 있다.
생성자를 통해 초기화해주면 된다.
또한 메서드를 선언해서 호출할 수도 있다.