inblog logo
|
Coding_study
    Spring

    [Tistory] Enum 키워드를 사용하여 UserEnum을 정의(Enum 장점)

    yuzu sim's avatar
    yuzu sim
    Sep 15, 2024
    [Tistory] Enum 키워드를 사용하여 UserEnum을 정의(Enum 장점)
    Contents
    1. Enum 정의 (예시)2. 사용 목적3. 사용 예4. 응답 처리5. 주요 장점

    1. Enum 정의 (예시)

    먼저 UserEnum을 정의하여 유저 중복 여부에 따라 상태를 구분합니다.
    public enum UserEnum { USER_EXIST, // 사용자 존재 USER_NO_EXIST // 사용자 없음 }

    2. 사용 목적

    • 상태 정의: 사용자의 존재 여부를 명확히 표현
    • USER_EXIST와 USER_NO_EXIST는 코드에서 각각 사용자 존재와 부재를 나타낸다.
    • 코드 가독성: 이 enum을 사용하면, 숫자나 문자열 대신 의미 있는 이름을 사용하여 코드의 가독성을 높일 수 있다. 예를 들어, if (status == UserEnum.USER_EXIST)는 if (status == 1)보다 훨씬 이해하기 쉽다.
    • 오류 예방: 잘못된 값이 사용되는 것을 방지한다. enum은 정의된 값만 사용할 수 있기 때문에, 잘못된 상태 값이 사용되는 것을 방지할 수 있다.
     

    3. 사용 예

    public UserEnum checkUsername(String username) { Optional<User> user = userRepo.findByUsername(username); if (user.isPresent()) { return UserEnum.USER_EXIST; } else { return UserEnum.USER_NO_EXIST; } }
     

    4. 응답 처리

    $.ajax({ url: '/username-check?username=' + username, type: 'GET' }).done((res) => { if (res.body === "USER_EXIST") { // 사용자 존재 처리 } else if (res.body === "USER_NO_EXIST") { // 사용자 없음 처리 } }).fail(() => { alert("오류가 발생했습니다. 다시 시도해 주세요."); });
     

    5. 주요 장점

    1. 명확한 의미 부여
        • enum을 사용하면 상수 값에 의미 있는 이름을 부여할 수 있어, 코드에서 그 상수가 무엇을 의미하는지 명확하게 알 수 있다.
        • 예를 들어, OrderStatus.PENDING은 단순히 0이라는 숫자보다 더 직관적이다.
    1. 타입 안전성
        • enum은 정의된 값만 사용할 수 있기 때문에, 잘못된 값이 사용되는 것을 방지할 수 있다.
        • 이는 코드의 안정성과 오류 예방에 도움을 준다.
    1. 코드 가독성 향상:
        • 코드에서 상수 값을 직접 사용하는 것보다, 의미 있는 이름을 가진 enum 값을 사용하는 것이 더 읽기 쉽고 이해하기 쉽다.
    1. 유지보수 용이
        • 값의 집합이 변경되거나 확장될 때, enum을 사용하면 해당 변경 사항을 중앙에서 관리할 수 있어 유지보수가 더 용이하다.
    1. 관련 행동이나 메서드 정의 가능
        • enum에 메서드를 추가하여 관련된 행동을 정의할 수 있다.
        • 예를 들어, 각 enum 값에 대해 특정 행동을 구현할 수 있다.
    Share article

    Coding_study

    RSS·Powered by Inblog