java
enum 매핑
nownow
2025. 2. 28. 20:28
enum에 한글을 지정하거나 데이터 타입 호환성을 위해 다른 상수를 추가로 지정할 수 있다.
public enum EnumDay {
SPRING("봄"),
SUMMER("여름"),
WINTER("겨울");
private String season;
private EnumDay(String season){
this.season=season;
}
public String KOSeason(){
return season;
}
}
public class Main {
public static void main(String[] args) {
EnumDay day =EnumDay.SUMMER;
System.out.println(day); //SUMMER
System.out.println(day.KOSeason()); //여름
}
}
enum은 내부적으로는 private static final 객체 = new 객체(); 와 같은 식으로 구성되어 있기에
클래스 로딩시 정적 불변 클래스로 생성된다.
또한 enum의 생성자는 암묵적으로 private 이기에 각 상수가 단일 인스턴스로 유지되고
생성자에서 필드 값을 초기화해주면 추가 메서드를 통해 맵핑해둔 다른 값을 불러올 수 있다.