아래와 같이 메인 클레스와 enum 클레스를 코딩한다.

 

열거 타입의 생성자는 열거 타입 외부에서 호출되는 것이 아니라 열거 상수 선언에 의해 자동으로 호출되며,
열거 상수 다음의 괄호 안에 있는 값이 생성자 파라미터로 넘어오게 된다.

 

따라서, final static 변수로 선언한 String 변수를 선언하고,
생성자를 활용해서 선언한 String 변수에 대입해야 한다.

 

이렇게 파라미터로 넘어온 값은 private 필드에 저장되기 때문에,
외부에서 해당 값을 접근하려면 아래와 같은 call() 메소드를 생성해야 한다.

 

- main class

 

1
2
3
4
5
6
7
8
public class Woo{
    public static void main(String[] args){
        System.out.println(Season.SPRING.call());
        System.out.println(Season.SUMMER.call());        
        System.out.println(Season.FALL.call());
        System.out.println(Season.WINTER.call());
    }
}

 

 

- enum class

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
enum Season {
    
    SPRING("봄"), SUMMER("여름"), FALL("가을"), WINTER("겨울");
    
    final private String name;
    
    Season(String name){
        this.name = name;
    }    
    
    String call(){
        return name;
    }
}

 

 

 

 

 

Private comment