Post

Enum

Enum class란?

Enum은 열거형이라고 불리며,서로 연관된 상수들의 집합을 의미합니다.

Enumeration은 ”열거, 목록, 일람표” 라는 뜻을 가지고 있으며, 보통 한글로는 열거형이라고 부릅니다.

프로그래밍을 하다보면 여러개의 묶음 데이터를 다루게 되지만 데이터 주제에 따라 한정된 값만 가지는 경우가 있습니다.

예를 들어 요일에는 “월,화,수,목,금,토,일” 계절에는 “봄,여름,가을,겨울” 이렇게

정해져 있는 한정된 데이터 묶음을 열거형 타입인 Enum 으로 묶어주면 보다 구조적으로 프로그래밍 할 수 있습니다.

Enum의 장점

코드가 단순해지며 가독성이 좋아집니다.

인스턴스의 생성과 상속을 방지합니다.

정의한 타입 이외의 타입을 가진 데이터값을 컴파일 할 시 체크할 수 있습니다.

Enum의 예시

1
2
3
4
5
6
7
8
                    public enum 열거형이름 {
                        상수1,
                        상수2,
                        상수3,
                        ...
                    }

Enum을 사용하지 않으면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Card{
    static final int CLOVER =0;
    static final int  HEART =1;
    static final int DIAMOND =2;
    static final int SPADE =3;
    
    static final int TWO =0;
    static final int THREE =1;
    static final int FOUR =2;

    final int kind;
    final int num;

}

Enum을 사용하면

1
2
3
4
5
6
7
8
9
public class Card{
    enum Kind {CLOVER, HEART, DIAMON, SPADE} // 열거형 Kind를 정의
    enum Value {TWO, THREE, FOUR} //열거형 Value를 정의

    final Kind kind; //타입이 int가 아니라 Kind
    final Value value;

}
This post is licensed under CC BY 4.0 by the author.