- 일반적인 예시
public enum DaysOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
- 필드와 메서드가 있는 예시
public enum Coin {
PENNY(1), NICKEL(5), DIME(10), QUARTER(25);
private final int value;
Coin(int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
}
- 추상 메서드 선언과 구현
public enum Operation {
PLUS {
public double apply(double x, double y) { return x + y; }
},
MINUS {
public double apply(double x, double y) { return x - y; }
};
public abstract double apply(double x, double y);
}
- enum 안에 추상 메서드를 선언하면, 이 enum의 모든 상수는 해당 메서드를 구현해야 함