[Java] Enum

예원·2022년 10월 27일
0

Java 글 모아보기

목록 보기
1/6

Enum 이란?

서로 연관된 상수들의 집합을 의미한다.

level(난이도)를 나타내는 특정 상수값이 있다.
예전에는 모두 상수로 선언해 사용했다.

public static final String LOW = "쉬워요";
public static final String MID = "보통이에요";
public static final String HIGH = "어려워요";

이 방식은 실수하기도 쉽고 알아보기도 어려워진다.

Enum 을 사용하여 위와 같은 문제를 해결할 수 있다.

Enum 생성

단순하게 난이도를 열거하여 Enum 클래스를 만들 수 있다.

public enum Level {
	LOW, MID, HIGH
}

요소의 특정 값 추가

각 요소들에 대한 이름 등이 필요할 때도 있다.

이럴때는 생성자와 final 필드를 추가 하면 된다.

필드값을 생성하면 생성자도 같이 추가해야한다.

public enum Level {
    LOW("쉬워요"),
    MID("보통이에요"),
    HIGH("어려워요");

    private final String label;

    Level(String label) {
        this.label = label;
    }

    public String label() {
        return label;
    }
}

이렇게 하면 특정 요소를 하나의 Enum 으로 묶어 사용할 수 있다.

추가한 값은 아래와 같이 가져올 수 있다.

Level.LOW.name()	// LOW
Level.LOW.label()	// 쉬워요

Enum 클래스에서는 name() 이라는 메소드를 자체 제공하기 때문에 label() 과 헷갈릴 수 있어 유의해야한다.


reference
https://bcp0109.tistory.com/334

0개의 댓글