자바의 Enum 은 enumeration(열거)로부터 왔다
즉 열거형 상수들의 집합이라고 볼 수 있다
참조타입이기때문에 왜 상수인지 궁금할 수 도 있다
상수는 변하지 않는 값으로, 흔히 생각하지 않는 숫자 개념과는 다르고, 변수의 반대 개념으로 생각하는 것이 좋다
선언시 class와 interface 처럼 enum 키워드를 이용 .java 파일로 선언할 수 있다
enum은 데이터 타입을 생략하고 상수를 의미하는 public static final 키워드도 생략할 수 있다
정말 간단하게 변수명으로 선언할 수 있다
enum Operator {
PLUS, MINUS, MULTIPLY, DIVIDE;
}
enum의 장점
1. enum은 관련된 상수값들을 하나로 묶어 사용할 수 있다
2. enum을 사용하면 컴파일 단계에서 잘못된 값의 사용을 방지할 수 있다
3. enum은 위와 같이 클래스로 구현되기 때문에 메서드나 생성자를 추가할 수 있다
위의 에시에 생성자와 메서드를 추가한 모습이다
enum Operator{
PLUS("+"),
MINUS("-"),
MULTIPLY("*"),
DIVIDE("/");
private String symbol;
Operator(String symbol) {
this.symbol = symbol;
}
public String getSymbol() {
return symbol;
}
}
또한 enum 내부에 추상메소드를 선언하고 재정의함으로써 하나의 값에 여러 기능을 넣을 수 있는데, 다형성을 구현할 뿐 아니라 코드 수정, 리팩토링에 있어서도 좋은 코드를 만들 수 있다

아래 추상 메소드를 재정의, 구현한 모습이다.

오늘도 많은 것을 배우게 되어서 기쁘다
이번주도 시작이 좋다 화이팅~!!
'[Kotlin&Spring] 5기 내일배움캠프' 카테고리의 다른 글
| [Kotlin&Spring] 5기 Enum에 대해 DB에서 바라보기 (1) | 2025.01.08 |
|---|---|
| [Kotlin&Spring] 5기 System.out.println() 메서드와 Logger (0) | 2025.01.07 |
| [Kotlin&Spring] 5기 얕은 복사와 깊은 복사 - 배열(Array) (2) | 2025.01.03 |
| [Kotlin&Spring] 5기 논리 연산자와 비트 이동 연산자(shift) (1) | 2025.01.02 |
| [Kotlin&Spring] 5기 Github PR 과정 더 알아보기 (0) | 2024.12.31 |