Enum
2024. 3. 12. 18:30ㆍJava
서로 연관된 상수들의 집합이라고 할 수 있다.
장점
- 코드가 단순해지며, 가독성이 좋다.
- 인스턴스 생성과 상속을 방지하여 상수값의 타입 안정성이 보장된다 → 미리 정의된 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 |