지난 포스팅에서는 열거형(Enum)에 대해서 가장 기본적인 내용을 알아보았다.
2023.09.19 - [쿤즈 Dev/Java] - [Java] 열거형(Enum) 사용하기
이번 포스팅에서는 열거형 클래스를 조금 더 알아보자.
열거형 클래스 Enum
열거형 클래스는 열거형을 나태내기 위한 특별한 종류의 클래스다. 열거형은 연관된 상수를 그룹화하고, 이러한 상수 집합을 나타내는 데 사용된다. 'enum' 클래스는 자바 5부터 도입되었으며, 코드의 가독성을 향상시키고 오류를 방지하는데 도움이 된다.
열거형 클래스를 만드는 방법은 열거형 상수와 동일하다.
public enum Day {
SUNDAY, // 0
MONDAY, // 1
TUESDAY, // 2
WEDNESDAY, // 3
THURSDAY, // 4
FRIDAY, // 5
SATURDAY // 6
}
'enum' 클래스는 그 안에 고유한 상수 값을 정의한다. 이러한 상수들은 대문자로 작성되며, 각 상수 사이에 쉼표로 구분된다. 내부의 값은 고유한 정수 값을 가지며 0부터 시작한다. 그리고 이 값은 상수를 구별하는 데 사용된다.
추가적으로 메서드와 필드를 가질 수 있다. 이 값들을 가지기 때문에 클래스와 같이 사용할 수 있다. 따라서 속성과 동작을 정의할 수 있다.
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
private boolean isWeekend;
static {
// 주말 여부를 초기화
SUNDAY.isWeekend = true;
SATURDAY.isWeekend = true;
}
public boolean isWeekend() {
return isWeekend;
}
}
이 경우 주말 여부를 알 수 있는 Boolean 변수를 만들고 토요일과 일요일은 값을 true로 설정했다.
열거형 클래스의 가장 중요한 부분이며 다른 클래스들과 다른점은 인스턴스를 개발자가 직접 생성할 수 없다는 것이다. 즉, enum 클래스를 생성했다는 의미는 인스턴스가 이미 생성되고 하나만 존재하여 싱글톤으로 존재한다는 의미다. 따라서 컴파일러가 미리 정의한 값 중에서만 사용이 가능하다는 것이다.
열거형(Enum) 클래스는 주로 유한한 집합의 상수를 나타낼 때 사용되며, 코드의 가독성을 향상시키고 오류를 줄이는 데 도움을 준다. 특히 열거혈을 사용하여 요일, 계절, 상태 등의 정해진 표현을 사용하는데 유용한다.
'쿤즈 Dev > Java' 카테고리의 다른 글
[Java] 함수형 인터페이스 Functional Interface (0) | 2023.09.22 |
---|---|
[Java] 어노테이션(Annotation) 사용 방법 (0) | 2023.09.21 |
[Java] 열거형(Enum) 사용하기 (0) | 2023.09.19 |
[Java] 인터페이스 Interface (0) | 2023.09.17 |
[Java] 내부 클래스 Inner Class (0) | 2023.09.16 |
댓글