Enum — 열거형 기반 클래스

Enum — 열거형 기반 클래스

Enum은 모든 Java 언어 열거형 클래스의 공통 기반 클래스입니다. 열거형에 대한 더 자세한 정보(컴파일러가 합성한 암묵적으로 선언된 메서드의 설명 포함)는 The Java Language Specification의 8.9절에서 찾을 수 있습니다.

출처: Java API Reference

본문

열거형 클래스는 모두 직렬화 가능하며 직렬화 메커니즘의 특별한 처리를 받습니다. 열거 상수에 사용되는 직렬화 표현은 커스터마이즈할 수 없습니다. 직렬화와 상호작용할 수 있는 메서드와 필드의 선언은 serialVersionUID를 포함해 무시됩니다. 자세한 내용은 Java Object Serialization Specification을 참고하면 됩니다.

public abstract class Enum<E extends Enum<E>>
    extends Object implements Constable, Comparable<E>, Serializable

열거형 타입을 집합의 타입이나 맵의 키 타입으로 사용할 때는 전문화되고 효율적인 집합·맵 구현(EnumSet, EnumMap)을 사용할 수 있습니다.

생성자

protected Enum(String name, int ordinal)

주요 메서드

public final String name()
public final int ordinal()
public String toString()
public final int compareTo(E o)
public final Class<E> getDeclaringClass()
public final Optional<Enum.EnumDesc<E>> describeConstable()
public static <T extends Enum<T>> T valueOf(Class<T> enumClass, String name)
  • name()은 열거 상수의 이름을, ordinal()은 선언 순서에 따른 서수를 반환합니다.
  • compareTo는 열거 상수를 선언 순서로 비교합니다.
  • valueOf(enumClass, name)은 이름으로 열거 상수를 찾습니다.
  • describeConstable()은 열거 상수의 명목 기술자를 제공합니다.

더 알아보기 (Learn more)