본문 바로가기
Java

[Java] 열거 타입

by lmyourpearl 2025. 11. 5.

열거 타입(enumeration type)

열거 타입은 한정된 값인 열거 상수(enumeration constant)중에서 하나의 상수를 저장하는 타입.


열거 타입 선언

열거 타입을 선언하기 위해서는 먼저 열거 타입의 이름을 정하고 해당 이름으로 소스파일(.java)을 생성.

첫 글자를 대문자로 하고, 나머지는 소문자로 구성하고 여러개라면 각 단어의 첫 글자는 대문자로 생성.

// public enum 열거타입이름 {...}

public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
//       열거 타입 이름                        열거 상수

* public enum 키워드는 열거 타입을 선언하기 위한 키워드이며, 반드시 소문자로 작성해야하며, 이때 열거 타입 이름은 소스 파일 이름과 대소문자가 모두 일치해야 함.

만약 상수가 여러 단어로 구성될 경우, 단어 사이를 밑줄(_)로 연결.


소스파일 생성 

 

[File] - [New] - [Enum] 클릭

 

[Name]란에 열거타입 이름 입력.

 

생성된 파일에 열거 상수 작성.

// 열거 타입 선언

package sec03.exam01;

public enum Week {
			MONDAY,
			TUESDAY,
			WEDNESDAY,
			THURSDAY,
			FRIDAY,
			SATURDAY,
			SUNDAY

}

열거 타입 변수

열거 타입도 하나의 타입이므로 변수를 선언하고 사용해야함.

// 열거타입 변수;
Week today;
Week reservationDay;

// 열거타입 변수 = 열거타입.열거상수;
Week today = Week.SUNDAY;

// null
Week birthday = null;

* 열거 타입도 참조 타입이기 때문에 null값 저장 가능.

 

// 열거 타입과 열거 상수

package sec03.exam02;

// Calendar 클래스는 java.util패키지에 있으므로 import가 필요
import java.util.Calendar; 

public class EnumWeekExample {
	public static void main(String[] args) {
        Week today = null;  // 열거타입 변수 선언
    
    Calendar cal = Calendar.getInstance();
    int Week = cal.get(Calendar.DAY_OF_WEEK);	// 일 ~ 토 까지의 숫자를 리턴
    
    switch(week) {
      case 1:
        today = Week.SUNDAY; break;
      case 2:
        today = Week.MONDAY; break;
      case 3:
        today = Week.TUESDAY; break;
      case 4:
        today = Week.WEDNESDAY; break;
      case 5:
        today = Week.THURSDAY; break;
      case 6:
        today = Week.FRIDAY; break;
      case 7:
        today = Week.SATURDAY; break;
     }
     
     System.out.println("오늘 요일: " + today);
     
     if(today == Week.SUNDAY) {
       System.out.println("일요일에는 축구를 합니다.");
     } else {
       System.out.println("자바 공부합니다.");
    }
  }
}

// 실행 결과
// 오늘 요일 : WEDNESDAY
// 자바 공부합니다.

 

🔘 열거 타입: 열거 타입은 몇 가지로 제한된 상수를 가지는 타입을 말함.

 

🔘 열거 타입 선언: enum 타입 {상수, 상수, ...} 형태로 열거 타입을 선언함.

ex) enum Week {MONDAY, ... , SUNDAY} 형태를 가짐.

 

🔘 열거 상수: 열거 타입 선언 때 주어진 상수를 말하며 타입. 상수 형태로 사용.

ex) Week 열거 타입의 상수 MONDAY는 Week.MONDAY로 사용.

 

🔘 열거 타입 변수: 열거 타입으로 선언된 변수를 말하며, 열거 타입 변수에는 열거 상수 중 하나가 대입 됨.

ex) Week today = Week.FRIDAY;에서 today가 열거 타입 변수.

 

'Java' 카테고리의 다른 글

[Java] 필드  (0) 2025.11.06
[Java] 클래스  (0) 2025.11.06
[Java] 배열  (0) 2025.11.04
[Java] 참조 타입과 참조 변수  (0) 2025.11.03
[Java] 반복문: for문, while문, do-while문  (0) 2025.11.03