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에 대해 한마디로 표현 하자면 "상수라는 재료를 효과적으로 사용하게 해주는 도구"입니다. 

'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