TIL
[JAVA] Enum을 사용하는 이유
승무_
2023. 3. 28. 10:49
예시 코드를 통해 Enum을 사용하는 이유를 알아 보겠습니다
1.
switch(a) {
case 1 :
print("apple");
break;
case 2 :
print("grape");
break;
case 3 :
print("banana");
break;
}
주석을 보지 않는 이상 1과 apple사이의 연관 관계를 알기 어렵습니다
2.
final static int APPLE = 1;
final static int GRAPE = 2;
final static int BANANA = 3;
switch(a) {
case APPLE :
print("apple");
break;
case GRAPE :
print("grape");
break;
case BANANA :
print("banana");
break;
}
case APPLE 과 print("apple")사이의 관계가 명확해졌으나, 코드가 길어질 경우 독립된 변수 final static int APPLE = 1;를 관리하기가 어렵습니다
3.
enum Fruit {
//생성자를 통해 APPLE의 인스턴스 값으로 1이 들어감
APPLE(1), GRAPE(2), BANANA(3);
private int value;
private Fruit(int value) {
this.value = value;
}
public int getValue() {
return value();
}
}
switch(a) {
case Fruit.APPLE.getValue() :
print("apple");
break;
case Fruit.APPLE.getValue() :
print("grape");
break;
case Fruit.APPLE.getValue() :
print("banana");
break;
}
case와 print사이의 관계도 명확하고 상수간의 관계도 Fruit안에 묶여 있기 때문에 관리가 더 용이해졌습니다.
Enum에 대해 한마디로 표현 하자면 "상수라는 재료를 효과적으로 사용하게 해주는 도구"입니다.