[Java] Enum 클래스

Updated:

자바의 열거체(enumeration type)

=

Enum 클래스는?


  • JDK 1.5부터 지원
  • 열거체 비교시 실제 값뿐만 아니라 타입까지 비교
  • 상수값이 재정의 되더라도 재컴파일할 필요 없음
  • 모든 자바 열거체의 공통된 조상 클래스

사용


  • 정의 : enum 열거체이름 { 상수1이름, 상수2이름, … }
      enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
    
  • 사용 : 열거체이름.상수이름
      Rainbow.RED
    
  • 상숫값 정의 및 추가
      enum Rainbow {
          RED(3), ORANGE(10), YELLOW(21), GREEN(5), BLUE(1), INDIGO(-1), VIOLET(-11);
          private final int value;
          Rainbow(int value) { this.value = value; }
          public int getValue() { return value; }
      }
    

함수


함수 설명
values() 해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환.
valueOf() 전달된 문자열과 일치하는 해당 열거체의 상수를 반환
ordinal() 해당 열거체 상수가 열거체 정의에서 정의된 순서(0부터 시작)를 반환. 해당 열거체 상수가 정의된 순서이며, 상숫값 자체가 아님
static E values() 해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환
static E valueOf(String name) 전달된 문자열과 일치하는 해당 열거체의 상수를 반환
protected void finalize() 해당 Enum 클래스가 final 메소드를 가질 수 없게 됨
String name() 해당 열거체 상수의 이름을 반환

참고


Tags:

Categories:

Updated:

Leave a comment