Enum

2024. 3. 12. 18:30Java

서로 연관된 상수들의 집합이라고 할 수 있다.

장점

  • 코드가 단순해지며, 가독성이 좋다.
  • 인스턴스 생성과 상속을 방지하여 상수값의 타입 안정성이 보장된다 → 미리 정의된 enum 변수안의 상수만을 대입할 수 있기 때문이다.
  • enum 클래스를 사용해 새로운 상수들의 타입을 정의함으로써 정의한 타입 이외의 타입을 가진 데이터 값을 컴파일시 체크한다.
  • 키워드 enum을 사용하기 때문에 구현의 의도가 열거임을 분명하게 알 수 있다.

예제

package com.example.enumtype;

public enum Day {
    SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY
}
  • Day라는 enum을 생성하여 요일을 열거하였다.
package com.example.enumtype;

public class Today {
    private Day day;

    public void setDay(Day day) {
        this.day = day;
    }

    public Day getDay() {
        return day;
    }
}
  • Today라는 클래스를 생성하여 Day enum 필드를 생성하고 getter, setter를 생성하였다.
package com.example.enumtype;

public class TodayTest {
    public static void main(String[] args) {
        Today today = new Today();
        today.setDay(Day.TUESDAY);
        System.out.println(today.getDay());
    }
}
  • Today를 사용하는 TodayTest 클래스를 다음과 같이 작성한다.
  • today의 setDay()메소드에는 Enum타입인 Day가 전달되야 한다.
  • 이 경우 정수로 선언된 상수와 다르게 Day안에 선언된 상수만 값으로 전달 할 수 있다.
  • 위의 코드를 실행하면 다음과 같다.
TUESDAY

'Java' 카테고리의 다른 글

Random 클래스  (0) 2024.03.13
반복문과 label  (0) 2024.03.13
Wrapper 클래스  (0) 2024.03.12
변수의 기본형 & 참조형 타입  (0) 2024.03.12
Getter / Setter  (3) 2024.03.12