정처기 감자정처기 감자
Java객체지향

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

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

코딩Java
읽는데 5분 소요
처음 쓰인 날: 2026-02-17
마지막 수정일: 2026-10-04
조회수: —

요약

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
코드 하이라이팅 중…

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

기본 enum 선언: Season 상수 객체 4개가 name 필드에 상수 이름 문자열의 주소(주소300~303)를, ordinal 필드에 선언 순서 0~3을 저장
enum 상수는 대문자로 작성합니다
관례적으로 enum 상수는 대문자로 선언합니다. 예: SPRING, SUMMER 등. 시험 문제에서는 소문자로 나올 수도 있으니 유연하게 대처하세요.

속성과 생성자를 가진 enum

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

java
코드 하이라이팅 중…

핵심 규칙

  1. 속성이나 메서드가 있으면 enum 상수 목록 끝에 세미콜론(;)이 필수입니다
  2. enum 생성자는 반드시 private입니다 (명시하지 않아도 자동으로 private)
  3. 각 enum 상수는 선언될 때 생성자를 통해 초기화됩니다
상수 이름과 생성자에 전달하는 값은 다릅니다
AB('A')에서 AB는 enum 상수의 이름이고, 'A'는 생성자에 전달되는 값입니다. 이 둘을 혼동하면 안 됩니다. name()은 상수 이름(AB)을, code()는 생성자에 전달된 값('A')을 반환합니다.

상수 이름 vs 전달 값 비교

code는 String 속성이라 각 상수 객체의 code 칸에는 문자열 객체의 주소가 저장됩니다. 상수 이름 AB(name()으로 꺼내는 값)와 code 값 "A"는 별개입니다.

enum Tri 상수 객체 AB·A·C가 name·ordinal·code 필드를 가지며, name과 code에는 문자열 풀의 문자열 주소가 저장되는 다이어그램
각 상수의 code 필드에는 생성자로 전달한 문자열 객체의 주소가 저장됩니다.

enum의 주요 메서드

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

values()

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

java
코드 하이라이팅 중…
values() 메서드: Tri.values() 배열의 각 칸이 상수 객체 AB·A·C(주소100~102)를 가리키고, 각 상수의 name은 문자열 풀의 상수 이름 주소, ordinal은 선언 순서

name()

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

java
코드 하이라이팅 중…
name()은 상수 이름을 반환합니다
name()은 enum 상수가 선언된 이름 그대로를 문자열로 반환합니다. 생성자에 전달된 값이 아닙니다. Tri.A.name()은 'A'를 반환하지, 'AB'를 반환하지 않습니다.

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

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

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999