본문 바로가기

JAVA

Enum에 대해서

반응형

상수를 정의할 때 final static String 과 같은 방식으로 상수를 정의한다. 그것을 개선하기 나온 것이 enum class다.

 

Enum의 장점

1. IDE 지원 : 동완성, 오타검증, 텍스트 리팩토링 등등

2. 허용가능한 값을 제한할 수 있다.

3. 리팩토링시 변경범위가 최소화된다.

 

C/C++의 경우는 Enum이 결국 int 값이지만, Java의 경우는 Class이기 때문에 더 많은 장점이 있다.

 

- 데이터들의 연관관계 표현

Enum을 사용하지 않으면 직접 메소드에서 각 값을 매칭해서 리턴해야 했다. 예를 들면 ("Y","true","1"), ("N","false","0")

Enum에서는 표현할 수 있다.

 

enum Enum{
    Y("1", "true"),
    N("0", "false");

    private String s1;
    private String s2;

    Enum(String s1, String s2) {
        this.s1 = s1;
        this.s2 = s2;
    }
}

Enum은 추상메서드 뿐만 아니라 일반 메서드도 가질 수 있다.

 

반응형

'JAVA' 카테고리의 다른 글

[리팩토링] 분류코드를 클래스로 치환  (0) 2021.03.21
Java의 Future이란  (0) 2021.01.03
일급컬렉션  (0) 2020.07.06
Java의 배열  (0) 2020.05.18
Reference 와 Garbage Collection  (0) 2020.03.13