열거형의 매개변수가 없는 상수필드
- 열거형의 상수필드는 기본적으로 정수형(int)으로 설정되어 첨자가 초기값으로 자동 저장
- 매개변수가 없는 생성자를 사용하여 상수필드 생성
- EAST, WEST, SOUTH, NORTH;
열거형의 매개변수가 있는 상수필드
- 상수필드명(매개변수)
- EAST("East"), WEST("West"), SOUTH("South"), NORTH("North");
상수필드에 원하는 자료형의 값을 저장하는 방법
- final 제한자를 사용하는 것을 권장
- final 제한자로 필드를 작성하면 반드시 매개변수가 있는 생성자를 사용해 필드 초기화 처리
- Setter 메소드는 사용할 수 없고 Getter 메소드만 사용 가능 => final 제한자를 사용했기 때문에 Setter는 불가능
상수필드 생성하기 위한 생성자 생성 방법
- 매개변수로 전달받은 값으로 필드 초기화 처리해야됨
- 상수필드를 생성하기 위한 생성자이므로 접근제한자는 private로 설정
- Compass(Enum)
public enum Compass {
private final String value;
private Compass(String value) {
this.value = value;
}
EAST("East"), WEST("West"), SOUTH("South"), NORTH("North");
public String getValue() {
return value;
}
}
- CompassApp(Class)
public class CompassApp {
public static void main(String[] args) {
System.out.println("동쪽 = " + Compass.EAST);
System.out.println("서쪽 = " + Compass.WEST);
System.out.println("남쪽 = " + Compass.SOUTH);
System.out.println("북쪽 = " + Compass.NORTH);
System.out.println("===========================================================");
for (Compass compass : Compass.values()) {
System.out.println(compass + " : " + compass.ordinal() + " = " + compass.getValue());
}
}
}
- 결과