예시 코드를 통해 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에 대해 한마디로 표현 하자면 "상수라는 재료를 효과적으로 사용하게 해주는 도구"입니다.
'TIL' 카테고리의 다른 글
Array vs LinkedList (0) | 2023.06.26 |
---|---|
[JAVA] JVM이 정확히 무엇이고, 어떤 기능을 하는지 설명해 주세요. (0) | 2023.06.22 |
도커를 사용하는 이유 (0) | 2023.03.08 |
[Sql] 문제 풀이 (0) | 2023.03.04 |
[Sql] 문자 함수 (0) | 2023.03.01 |