백/Java

[Java] 자바(Java)의 Enum이란?

연지양갱 2023. 10. 26. 10:04
728x90
반응형
SMALL

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

 

 

출처 : https://jhnyang.tistory.com/entry/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);
    }
}

출력 결과

 

출처 : https://www.tcpschool.com/java/java_api_enum

반응형