- 열거형에 멤버 추가하기
- 불연속적인 열겨형 상수의 경우 원하는 값을 괄호() 안에 적는다.
enum Direction {EAST(1), SOUTH(5), WEST(-1), NORTH(10)}
// ()는 생성자 호출이라고 보면 된다.
// ordinal과 value는 다르다.
// ordinal은 순서[0,1,2,3], value[1,5,-1,10]는 값이라고 보면 된다.
- 괄호()를 사용하려면, 인스턴스 변수와 생성자를 새로 추가해줘야 한다.
enum Direction {
EAST(1), SOUTH(5), WEST(-1), NORTH(10);
private final int value;
Direction(int value) {this.value = value;}
public int getValue() {return value;}
}
- 열거형 생성자는 묵시적으로 private이므로 외부에서 객체 생성 불가
Direction d = new Direction(1); // 에러!! 열거형의 생성자는 외부에서 호출 불가