백엔드 개발자 로드맵에서 처음 보는 Enum을 보고 공부가 필요함을 느꼈답니다...

💡 Enum이란?
자바의 Enum은 열겨형(Enumerated type)을 정의하는 특별한 클래스 타입입니다.
Enum은 주로 사전에 정의된 상수 집합을 표현할 때 사용되며, 각 상수는 enum 타입의 객체입니다.
📌 Enum의 정의 및 사용 방법
enum 열거이름 { 상수1, 상수2, 상수3, ---};
//ex)
enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
enum 열거 이름 { 상수값 ... }
위와 같이 사용하면서 정의하면 됩니다.
✒️ 문법
열거이름.상수이름
// ex)
Rainbow.BLUE
☘️ values()
values() 메소드는 해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환합니다.
즉 value 값을 추출하는 메소드입니다.
열거이름.values()
ex)
Rainbow[] arr = Rainbow.values()
☘️ valueOf()
valueOf() 메소드는 전달된 문자열과 일치하는 해당 열거체의 상수를 반환합니다.
열거이름.valueOf(상수값)
ex)
Rainbow rb = Rainbow.valueOf("INDIGO");
☘️ ordinal()
ordinal() 메소드는 해당 열거체 상수가 열거체 정의에서 정의된 순서(0부터 시작)를 반환합니다.
이때 반환되는 값은 열거체 정의에서 해당 열거체 상수가 정의된 순서이며, 상수값 자체가 아님을 명심해야 합니다.
열거이름.상수값.ordinal();
ex)
int idx = Rainbow.INDIGO.ordinal();
예제 코드(Java)
Enum 열거형 생성
public enum Season { // Season이라는 enum 생성
SPRING,
SUMMER,
AUTUMN,
WINTER
}
public class Main {
public static void main(String[] args) {
// values 메소드: enum의 모든 상수를 배열로 반환
Season[] seasons = Season.values();
for (Season season : seasons) {
System.out.println(season);
}
// valueOf 메소드: 주어진 문자열과 일치하는 enum 상수를 반환
Season summer = Season.valueOf("SUMMER");
System.out.println(summer);
// ordinal 메소드: enum 상수의 순서를 반환
int ordinal = Season.SUMMER.ordinal();
System.out.println(ordinal);
}
}
출력 결과

'백 > Java' 카테고리의 다른 글
[Java] JVM의 개념과 구조 (0) | 2023.11.10 |
---|---|
[Java] 자바(Java)의 람다식(Lambda)란? (2) | 2023.10.26 |
[Java] 자바(Java) 어노테이션(Annotation)이란? (2) | 2023.10.25 |
[Java] 자바(Java) 제네릭(Generic)이란? (0) | 2023.10.24 |
[Java] 자바(Java)의 컬렉션(Collection)이란? (2) | 2023.10.23 |