woodisco
2024. 3. 5. 11:53
enum
Enum은 "열거형"이라고 불리며, 프로그래밍에서 사용되는 데이터 형식 중 하나입니다. 열거형은 특정한 값들의 집합을 정의할 때 유용하게 활용됩니다. 보통 상수들의 집합으로 이루어져 있으며, 이러한 상수들은 일련의 식별자로 사용됩니다. 열거형을 사용하면 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.
예를 들어, 계절을 열거형으로 정의한다고 가정해 봅시다. 봄(Spring), 여름(Summer), 가을(Fall), 겨울(Winter)이 각각의 상수로 정의될 수 있습니다. 이렇게 하면 코드에서 계절을 다룰 때 상수를 사용하여 가독성을 높일 수 있습니다.
public enum Season {
SPRING,
SUMMER,
FALL,
WINTER
}
public class Main {
public static void main(String[] args) {
Season currentSeason = Season.SUMMER;
switch (currentSeason) {
case SPRING:
System.out.println("봄입니다.");
break;
case SUMMER:
System.out.println("여름입니다.");
break;
case FALL:
System.out.println("가을입니다.");
break;
case WINTER:
System.out.println("겨울입니다.");
break;
default:
System.out.println("잘못된 계절입니다.");
}
}
}
public enum Enum_TypeCode {
// A
테스트1("test1"),
테스트2("test2"),
// B
테스트3("test3"),
테스트4("test4"),
;
private final String propertyName;
Enum_TypeCode(String name) {
propertyName = name;
}
// 영어를 한국어로 변환
public static String toName(String eCode) {
Optional<Enum_TypeCode> kCode = Arrays.stream(Enum_TypeCode.values()).filter(enumfilter -> enumfilter.toString().equals(eCode)).findFirst();
return kCode.isPresent() ? kCode.get().name() : "";
}
public static final Map<String, Enum_TypeCode> Map_Test;
static {
Map<String, Enum_TypeCode> mutableMap = new HashMap<>();
// A
mutableMap.put(Enum_TypeCode.테스트1, 테스트1);
mutableMap.put(Enum_TypeCode.테스트2, 테스트2);
// B
mutableMap.put(Enum_TypeCode.테스트3, 테스트3);
mutableMap.put(Enum_TypeCode.테스트4, 테스트4);
Map_Test = Collections.unmodifiableMap(mutableMap);
}
// 영어 반환
public static String toTypeCode(String type) {
Enum_TypeCode typeCode = Map_Test.get(type);
return typeCode != null ? typeCode.propertyName : "";
}
@Override
public String toString() {
return propertyName;
}
}