enum 열거형이름 { 상수명 1, 상수명 2, ...}
enum Driection {
EAST(1,">"), SOUTH(2,"V"), ...
Direction(int value, String symbol){
this.value = value;
this.symbol = symbol;
}
}
위와 같이 하나의 열거형 상수에 여러값을 추가할 수 있다. 다만 그에 맞게 생성자를 넣어줘야 함.
열거형이 내부적으로 어떻게 구현되어 있는가에 대한 이해
enum Direction{ EAST, SOUTH, WEST, NORTH}
열거형이 위와 같이 정의되어 있을 때, 사실은 열거형 상수 하나하나가 Direction 객체이다.
class Direction{
static final Direction EAST = new Direction("EAST")
...
}
위와 같이 static 객체로 선언되어 있고, 각각의 값은 객체의 주소이므로 "=="비교가 가능해진다는 것이다.