ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • enum
    [공부] 프로그래밍/Spring・Spring Boot (JAVA) 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;
        }
    }

     

    '[공부] 프로그래밍 > Spring・Spring Boot (JAVA)' 카테고리의 다른 글

    HTTP DELETE 처리  (2) 2024.04.02
    암호화, 복호화 처리  (0) 2024.03.14
    Repository 테이블 조작  (0) 2024.03.01
    Bean Validation 처리  (0) 2024.03.01
    Enum에 해당 값 존재 여부 체크 처리  (1) 2023.10.10
Designed by Tistory.