본문 바로가기
Programming/Java

[Java] 열거형(Enum) 이란, 사용법

by 서현 SEOHYEON 2023. 6. 20.

💚 열거형(Enum)

· 관련된 상수의 집합을 나타내는 특별한 데이터 유형

· 열거형은 제한된 값을 가지며, 해당 값을 사용하여 변수를 할당하거나 조건문에서 사용 가능하다.

· 가독성을 향상시키며, 잘못된 값을 사용하는 실수를 방지한다.

 

 

💚 간단한 예시

· 요일을 나타내는 Enum

public enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

· 변수 할당법

Weekday day = Weekday.MONDAY;

· switch문에서의 사용법

switch (day) {
    case MONDAY:
    case TUESDAY:
    case WEDNESDAY:
    case THURSDAY:
    case FRIDAY:
        System.out.println("평일입니다.");
        break;
    case SATURDAY:
    case SUNDAY:
        System.out.println("주말입니다.");
        break;
    default:
        System.out.println("유효하지 않은 요일입니다.");
        break;
}

 

 

💚 속성과 생성자

· Enum은 일반 클래스와 같이 속성과 생성자를 가질 수 있다.

· Enum 상수에 속성을 추가하려면 생성자를 정의하고, Enum 상수 뒤에 괄호를 사용하여 속성 값을 지정해주면 된다.

· 예시

public enum Season {
    SPRING("Warm", 20),
    SUMMER("Hot", 30),
    AUTUMN("Cool", 15),
    WINTER("Cold", 5);
    
    private final String weather;
    private final int averageTemperature;
    
    Season(String weather, int averageTemperature) {
        this.weather = weather;
        this.averageTemperature = averageTemperature;
    }
    
    public String getWeather() {
        return weather;
    }
    
    public int getAverageTemperature() {
        return averageTemperature;
    }
}

· Enum 속성에 접근하는 예시

public class Main {
    public static void main(String[] args) {
        Season currentSeason = Season.SUMMER;
        System.out.println("Current season: " + currentSeason);
        System.out.println("Weather: " + currentSeason.getWeather());
        System.out.println("Average temperature: " + currentSeason.getAverageTemperature() + "°C");
    }
}

· 실행 결과

Current season: SUMMER
Weather: Hot
Average temperature: 30°C

댓글