티스토리 뷰

enum은 자바에서 상수를 효율적으로 관리하기 위해 나온 문법이라고 한다.

긴말 없이 바로 예제부터 보도록 하자.

package main;

public class Application {

    public static void main(String[] args) {
    
        Gender gender1 = Gender.MALE;
        Gender gender2 = Gender.FEMALE;

        System.out.println(gender1);
        System.out.println(gender2);        
    }

}

enum Gender {
    MALE,
    FEMALE;
}

결과 ↓ )

enum의 가장 기본적인 예제라고 할 수 있다. ( gender1, gender2 변수를 Gender 라는 enum으로 선언 )

( 그리고, 세미콜론(" ; ") 잊지 말자!! )

일단 우선 알아야하는 것이, "Gender 라는 객체를 new 하지 않았는데, 어떻게 MALE, FEMALE에 접근할 수 있었을까?"

 

간단하게 말하자면,

enum Gender {
    MALE,
    FEMALE;
}

이렇게 enum을 선언한다면, 

class Gender{
	public static final Gender MALE = new Gender();
	public static final Gender FEMALE = new Gender();
}

이 코드와 같은 것이다. 

( → 쉽게 말해, 내부적으로 static(클래스 변수)과 final(상수)을 이용하여 생성된다는 의미이다. )

 

 

enum 매핑이라는 문법도 있다.

만약 우리가 저장한 enum 값을 가져왔는데, 해당 enum 값에 있는 어떤 특징을 설정해놓고 사용하고 싶다고 하자. 

이때 사용하는 문법이 enum 매핑이라는 문법이다.

 

예제로 이해해보자.

enum Season {
    SPRING("봄"),
    SUMMER("여름"),
    FALL("가을"),
    WINTER("겨울");
	
    private String season;

    private Season(String season) {
        this.season = season;
    }

    public String getSeason() {
        return season;
    }
}

이렇게 생긴 코드가 있다고 해보자. 

혹시나 코드의 SPRING("봄")과 같은 부분이 이해하기 어려울 수도 있으니, 보충 설명을 해보겠다.

아까 enum은 내부적으로 해당 클래스(위에서는 Season)내부에 static, final을 이용하여 상수를 만든다고 말하였다.

즉, 현재Season 클래스의 생성자에 매개변수로 문자열 타입의 season을 받고 있으니 SPRING("봄")이렇게 쓸 수 있는 것이다

public static void main(String[] args) throws Exception {
    Season s = Season.SUMMER;
    System.out.println(s.getSeason()); // 봄
}

어쨌든 이렇게 사용할 수 있다.

 

 

마지막으로, enum 문법을 사용할 때 지켜야하는 문법 3가지 이다. ( 설명은 딱히 더 필요없을 것같다. )

1. enum 명은 클래스와 같이 첫 문자를 대문자로하고 나머지는 소문자로 구성한다.
2. 관례적으로, 열거 상수는 모두 대문자로 작성한다.
3. 열거 상수가 여러 단어로 구성될 경우, 단어 사이를 밑줄 (_)로 연결한다.

 

----------------------------------------------

지금 백엔드 예외 처리 핸들러 공부 중인데, 너무 어렵다..............

▶  공부공부공부공부공부공부공부공부

 

 

참고함 ↓ ) 

[Java] enum 이란?

 

[Java] enum 이란?

Enum class란? 우리가 흔히 상수를 정의할 때 final static string 과 같은 방식으로 상수를 정의를합니다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생됩니다. 따라서 이러한 문제

limkydev.tistory.com

☕ 자바 Enum 열거형 타입 문법 & 응용 💯 정리

 

☕ 자바 Enum 열거형 타입 문법 & 응용 💯 정리

Enum 열거 타입 먼저 Enum은 "Enumeration"의 약자다. Enumeration은 "열거, 목록, 일람표" 라는 뜻을 가지고 있으며, 보통 한글로는 열거형이라고 부른다. 즉, 열거형(enum)은 요소, 멤버라 불리는 명명된 값

inpa.tistory.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함