[Develop] Web/Back-end
[BE] Java Enum Class Example
mouse-david
2022. 7. 7. 00:34
728x90
Java의 Enum타입은 단순하게 도메인의 유형이나 식별용도의 변수 이상으로 활용할 수 있다.
Enum Class는 타입과 멤버 변수 및 함수를 정의하면서 Strategy design Pattern의 형태로 사용할 수 있다.
Enum 클래스는 내부에서 생성자, 메서드, 필드를 정의할 수 있으므로,
추상화된 객체의 상태를 동적으로 정의하는 것이 가능하다.
@Getter
public enum Fruit {
ORANGE (5000) {
@Override
public String getDescription() { return "Orange is ..."; }
}, APPLE (3000){
@Override
public String getDescription() { return "Apple is ..."; }
},
;
private Integer price;
Fruit(Integer price) {
this.price = price;
}
public abstract String getDescription();
}
1. Fruit Enum 클래스는 ORANGE, APPLE 2가지 상수를 가지고 있다.
2. Fruit Enum 클래스는 price 변수를 가지고 있고, 상수를 정의할 때 초기화할 수 있는 기본 생성자를 가지고 있다.
3. getDescription 추상 함수는 상수 선언에서 재정의 되었고, 상수마다 다른 동작을 수행할 수 있게 한다
728x90