JAVA | enum

c0zi·2023년 4월 12일
0

JAVA

목록 보기
2/4
post-thumbnail

❔ enum이란

enumeration type을 줄인 것으로, 의미있는 상수를 열거하여 사용하는 클래스


1. 🔥 enum 사용의 장점

  • 열거체를 비교할 때 실제 값뿐만 아니라 타입까지 체크

  • 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요 x


2. 🖥️ 사용 예시 (week)

▼ Week 정의 enum
enum Week {
    MON, TUE, WED, THU, FRI, SAT, SUN
}
▼ enum 상수를 전달 받는 today 메소드 정의
public static void today(Week week) {
        switch (week) {
            case MON:
                System.out.println("오늘은 월요일입니다.");
                break;
            case TUE:
                System.out.println("오늘은 화요일입니다.");
                break;
            case WED:
                System.out.println("오늘은 수요일입니다.");
                break;
            case THU:
                System.out.println("오늘은 목요일입니다.");
                break;
            case FRI:
                System.out.println("오늘은 금요일입니다.");
                break;
            case SAT:
                System.out.println("오늘은 토요일입니다.");
                break;
            case SUN:
                System.out.println("오늘은 일요일입니다.");
                break;
        }
    }
▼ main 메소드 호출 후 결과 실행
public static void main(String[] args) {
        today(Week.MON); // 오늘은 월요일 입니다.
    }

3. 📑 enum 다르게 정의하기

불규칙한 특정 값을 저장하기 위해서는 인스턴스 변수와 생성자를 별도로 추가해야 함
enum Week {
    MON(3), 
    TUE(5), 
    WED(1), 
    THU(7),
    FRI(4),
    SAT(2),
    SUN(6);

    int value;

    Week(int value) {
        this.value = value;
    }
}

4. ⌨️ enum 관련 메소드


1) ordinal() 메소드

  • enum 상수에 정의된 순서값 반환
  • 정의된 상수의 위치가 바뀌면 변화할 수 있음

ex. System.out.println(Week.THU.ordinal()); // 2

2) name() 메소드

  • enum 상수에 정의된 이름 반환

ex. System.out.println(Week.WED.name()); // WED


참고자료 :

profile
무엇이든 할 수 있는 개발 블로그

0개의 댓글