안녕하세요!
이번 포스팅은 자바의 열거 타입 enum에 대해 포스팅해 보겠습니다!

1. 열거 타입(enum)
1) 개념
제한된 수의 일이나 사건을 숫자로 표현하니 각 숫자에 대해 부여된 의미를 개발자가 모두 숙지하고 있어야 해서 사건에 대한 경우의 수가 많다면 개발자 관점에서는 불편함.
그래서 자바 5부터 열거 타입 제공
=> 서로 연관된 사건들을 모아 상수로 정의한 java.lang.Enum 클래스의 자식 클래스
2) 선언 및 사용 방법
- enum 열거타입이름 { 상수목록 }
- enum은 컴파일 시점에 JVM에 의해 미리 자동 생성된 상수 객체들을 제공하는 특수 클래스
- 개발자는 직접 객체를 생성(new) 하지 않고, enum 타입 이름과 상수 이름을 사용하여 상수를 참조

3) enum 특징
- 일종의 클래스 타입인 열거 타입도 생성자, 필드, 메서드를 가질 수 있음.
- 열거 타입의 각 상수는 생성자로 만들어진 객체(인스턴스) 임.
- 생성자, 필드 및 메서드와 열거 타입 상수를 서로 구분하기 위해 열거 타입 상수 뒤에 반드시 세미콜론을 추가하여 구분
*주의
enum의 경우 불변하는 상수 객체이기 때문에 외부에서 수정할 수 있는 setter를 쓰는 것은 잘못된 방식
만약 새로운 필드를 추가하여 이 필드에 대한 초기화를 하고 싶다면, 생성자 호출과 동시에 필드를 초기화하도록 생성자의 매개변수로 받고, final 처리를 해주어야 함.


'JAVA' 카테고리의 다른 글
| 자바 JAVA 클래스 상속(extends) 과 오버라이딩 VS 오버로딩 차이 (0) | 2025.11.25 |
|---|---|
| 자바 JAVA 클래스(class) 선언과 객체 생성 (0) | 2025.11.23 |
| 자바 JAVA 문자열 String 함수 & 사용법 총 정리 (0) | 2025.11.23 |
| 자바 JAVA 연산자와 자동 형변환 & 오버플로우 / 언더플로우 (1) | 2025.11.23 |
| 자바 JAVA 변수의 타입 정리 (int, long, double, String 등) + 스택과 힙 메모리 (0) | 2025.11.20 |