열거형 - 주요 메서드

SungMin·2026년 5월 28일

자바 심화 정리

목록 보기
19/34

모든 열거형은 java.lang.Enum을 상속 받는다.
따라서 해당 클래스가 지원하는 다양한 메서드를 사용할 수 있다.

package enumeration.ex3;

import java.lang.reflect.Array;
import java.util.Arrays;

public class EnumMethodMain {
    public static void main(String[] args) {
        // 모든 ENUM 반환
        Grade[] values = Grade.values();
        System.out.println("values = " + Arrays.toString(values));

        for (Grade value : values) {
            System.out.println("name = " + value.name() + ", ordinal = " + value.ordinal());
        }

        // String -> Enum 반환
        String input = "GOLD";
        Grade gold = Grade.valueOf(input);
        System.out.println("GOLD = " + gold);
    }
}

ENUM 주요 메서드

  • values(): 모든 ENUM 상수를 포함하는 배열을 반환한다.
  • valueOf(String name): 주어진 이름과 일치하는 ENUM 상수를 반환한다.
  • name(): ENUM 상수의 이름을 문자열로 반환한다.
  • ordinal(): ENUM 상수의 선언 순서(0부터 시작)을 반환한다.
  • toString(): ENUM 상수를 문자열로 반환한다. 오버라이딩 가능하다.

ordinal()은 가급적 사용하지 않는것이 좋다.

  • 이 값을 사용하다가 중간에 상수를 선언하는 위치가 변경되면 상수의 위치가 모두 변경될 수 있기 때문이다.

[정리]

  • 열거형은 java.lang.Enum을 자동으로 상속한다.
  • 추가로 다른 클래스를 상속 받을 수 없다.
  • 열거형은 인터페이스를 구현할 수 있다.
  • 열거형에 추상 메서드를 선언하고, 구현할 수 있다.
    이 경우 익명 클래스를 이용한다.
profile
오늘도 한 걸음씩 나아가

0개의 댓글