IT/Java

[Java] 열거(Enum) 타입

Huitopia 2024. 2. 27. 12:14
728x90

열거(Enum) 타입

한정된 값을 갖는 타입을 열거 타입(enumeration type)이라 한다.

열거 타입을 사용하려면 열거 타입 이름으로 소스 파일(.java)를 생성하고 한정된 값을 코드로 정의한다.

열거 타입 이름 첫 문자는 대문자로 하고 camel 스타일로 지어주는 것이 관례이다.

Week.java
StudentName.java

 

열거 상수란 열거 타입으로 사용할 수 있는 한정된 값이다.

관례적으로 알파벳으로 정의하며, 모두 대문자로 작성한다.

열거 상수가 여러 단어로 구성될 단어와 단어 사이를 언더바(_)로 연결한다.

 

Week today;
Week reservationDay;

열거 타입도 하나의 데이터이므로 변수를 선언하고 사용한다.

 

Week today = Week.SUNDAY;

열거 타입 변수에는 열거 상수를 대입할 수 있는데, '열거타입.열거상수' 형태로 작성한다.

 

Week birthday = null;

열거 타입은 참조 타입이므로 null도 대입 가능하다.

 

Week today = Week.SUNDAY;
today == Week.SUNDAY;

열거 변수의 값이 특정 열거 상수인지 비교할 때는 ==와 != 연산자를 사용한다.

 

예제

열거 상수 목록 작성 Week.java

public enum Week {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}
import java.util.Calendar;

public class WeekExample {
    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;
        }

        if (today == Week.SUNDAY) {
            System.out.println("휴일");
        } else {
            System.out.println("출근");
        }
    }
}

 

 

 

 

 

728x90