Java enum(열거형)과 주요 메서드

코딩Java
읽는데 5분 소요
처음 쓰여진 날: 2026-02-17
마지막 수정일: 2026-02-17
조회수: 2

요약

Java enum(열거형)의 개념과 values(), name(), ordinal() 메서드 사용법을 알아봅니다. 정보처리기사 실기에 출제된 enum 문제를 풀기 위한 핵심 개념을 정리합니다.

enum 핵심 정리

개념설명예시
enum (열거형)상수들의 집합을 정의하는 특별한 클래스enum Color { RED, GREEN, BLUE }
values()모든 enum 상수를 선언 순서대로 배열로 반환Color.values() -> [RED, GREEN, BLUE]
name()enum 상수의 이름을 문자열로 반환Color.RED.name() -> "RED"
ordinal()enum 상수의 선언 순서(인덱스)를 반환 (0부터)Color.GREEN.ordinal() -> 1

enum이란?

enum 은 enumeration(열거)의 줄임말로, 관련된 상수들을 하나의 그룹으로 묶어 정의하는 특별한 클래스입니다.

쉽게 말하면, "정해진 값들만 사용할 수 있도록 제한하는 것" 입니다.

java
코드 하이라이팅 중...

위 코드에서 SeasonSPRING, SUMMER, FALL, WINTER 네 가지 값만 가질 수 있습니다.


필드와 생성자를 가진 enum

enum은 단순한 상수 나열뿐만 아니라, 필드(변수)와 생성자를 가질 수 있습니다. 이 부분이 시험에 출제됩니다.

java
코드 하이라이팅 중...

핵심 규칙

  1. 필드나 메서드가 있으면 enum 상수 목록 끝에 세미콜론(;)이 필수입니다
  2. enum 생성자는 반드시 private입니다 (명시하지 않아도 자동으로 private)
  3. 각 enum 상수는 선언될 때 생성자를 통해 초기화됩니다

상수 이름 vs 전달 값 비교

enum 상수상수 이름 (name())생성자에 전달한 값 (code())
AB("A")"AB""A"
A("AB")"A""AB"
C("ABC")"C""ABC"


enum의 주요 메서드

enum에는 자동으로 제공되는 메서드들이 있습니다. 시험에서 자주 사용되는 메서드를 정리합니다.

values()

모든 enum 상수를 선언 순서대로 배열로 반환합니다.

java
코드 하이라이팅 중...

name()

enum 상수의 이름을 문자열(String)로 반환합니다.

java
코드 하이라이팅 중...

ordinal()

enum 상수의 선언 순서(인덱스)를 반환합니다. 0부터 시작합니다.

java
코드 하이라이팅 중...

valueOf()

문자열 이름으로 enum 상수를 찾아 반환합니다.

java
코드 하이라이팅 중...

메서드 정리 표

메서드반환 타입설명예시 (Tri.A 기준)
values()Tri[]모든 상수를 배열로 반환[AB, A, C]
name()String상수 이름을 문자열로 반환"A"
ordinal()int선언 순서(0부터) 반환1
valueOf(String)Tri문자열로 상수 찾기Tri.A

실전 예제: 문제 풀이 과정

25년 3회 기출문제와 동일한 구조로 단계별 풀이를 연습합니다.

java
코드 하이라이팅 중...

단계별 분석

1단계: enum 상수 확인

인덱스enum 상수상수 이름 (name())전달 값 (code())
0AB("A")"AB""A"
1A("AB")"A""AB"
2C("ABC")"C""ABC"

2단계: Tri.A.name().length() 계산

java
코드 하이라이팅 중...

3단계: Tri.values()[1] 찾기

java
코드 하이라이팅 중...

따라서 tTri.A입니다.

4단계: t.code() 출력

java
코드 하이라이팅 중...

Tri.A는 생성자에서 "AB"로 초기화되었으므로, code() 메서드는 "AB"를 반환합니다.

실행 순서 추적

순서코드결과
1Tri.A.name()"A"
2"A".length()1
3Tri.values()[1]Tri.A
4Tri.A.code()"AB"
5System.out.print("AB")출력: AB

정보처리기사 실기 기출 문제