enum 으로 정의된 변수를 나눠서 사용하는 자료형
문법은 다음과 같다
enum 열거형이름 { 상수명1, 상수명2, ... }
enum Direction { EAST, SOUTH, WEST, NORTH }
스위치 문의 조건식에도 사용 가능하다!
void move() {
switch(dir) {
case EAST: x++;
break;
case WEST: x--;
break;
case SOUTH: y++;
break;
case NORTH: y--;
break;
}
}
value()
: 전체 상수 반환getDeclaringClass()
: 열거형의 Class 객체 반환ordinal()
: 열거형 상수가 정의된 순서 반환valueOf(name)
: name 과 일치하는 열거형 상수 반환하지만 여기에서 ordinal은 내부적 용도를 위한 메서드라 사용하지 않는것이 좋다.
열거형에는 다음과 같은 값을 지정해줄 수 있다.
enum Direction {
EAST(1), SOUTH(5), WEST(-1), NORTH(10);
private final int value;
Direction(int value);
public int getValue() { return value; }
}
사용법
Direction d1 = Direction.EAST;
System.out.println(d1.getValue());
답: 1
TODO : 추상 메서드 공부하기