반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 쉬프트 연산
  • 객체 안의 함수
  • 자바db연동
  • js
  • 가위바위보js
  • 초보개발
  • js 비밀번호
  • 중복 제거 로또
  • css
  • 자바
  • 제이쿼리 패스워드 변경
  • spring 기본설정
  • js 로또 번호
  • 제이쿼리
  • js 패스워드 변경
  • 제이쿼리 버튼클릭시 색 변경
  • ScrollEffectJs
  • 스크롤js
  • 청춘고양이
  • 제이쿼리 비밀번호

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이

배움을 기록하는 곳

JAVA

Java에서의 열거형(Enum)에 대해 알아보자

2024. 7. 2. 13:49
반응형

1. 열거형(Enum)이란 무엇인가?

열거형(enum)은 서로 연관된 상수들의 집합을 정의하는 특수한 데이터 타입입니다. 이는 값들의 그룹을 만들고 이를 코드에서 직관적이고 안정적으로 사용할 수 있게 해줍니다. 예를 들어, 요일, 계절, 색상 등을 열거형으로 정의할 수 있습니다.

2. 열거형의 장점

  • 코드 가독성 향상: 의미 있는 이름을 통해 코드의 가독성이 좋아집니다.
  • 타입 안정성 제공: 잘못된 값을 방지할 수 있습니다. 열거형 외의 값은 사용할 수 없기 때문에 컴파일 시점에서 오류를 잡아낼 수 있습니다.
  • 유지 보수 용이성: 값들이 중앙에서 관리되므로 수정이 쉽습니다.

3. 열거형의 사용 예시

다음은 ArticleDeleteResult라는 열거형을 정의하는 예제입니다.

public enum ArticleDeleteResult {
    FAILURE,
    SUCCESS
}

4. 열거형 사용 방법

열거형은 클래스처럼 사용할 수 있으며, 각 열거형 요소는 enum 타입의 인스턴스로 간주됩니다. 열거형을 사용하는 예제를 살펴보겠습니다.

public class ArticleManager {
    public static void main(String[] args) {
        ArticleDeleteResult result = deleteArticle(12345);

        switch (result) {
            case SUCCESS:
                System.out.println("게시글이 성공적으로 삭제되었습니다.");
                break;
            case FAILURE:
                System.out.println("게시글 삭제에 실패했습니다.");
                break;
        }
    }

    public static ArticleDeleteResult deleteArticle(int articleId) {
        // 실제 삭제 로직은 여기서 수행됩니다.
        boolean isDeleted = performDeleteOperation(articleId);

        if (isDeleted) {
            return ArticleDeleteResult.SUCCESS;
        } else {
            return ArticleDeleteResult.FAILURE;
        }
    }

    private static boolean performDeleteOperation(int articleId) {
        // 실제 삭제 작업을 수행하는 메서드
        // 여기서는 예시로 무조건 실패하게 합니다.
        return false;
    }
}

5. 열거형에 메서드 추가하기

열거형에 메서드를 추가하여 더 복잡한 로직을 구현할 수도 있습니다. 각 열거형 요소에 추가 정보를 저장하거나 동작을 정의할 수 있습니다.

5.1 인터페이스 정의

먼저, 제네릭 인터페이스를 정의합니다. 인터페이스에는 각 열거형 요소가 구현해야 할 메서드를 선언합니다.

public interface Result<T> {
    T getMessage();
}

3.2 인터페이스를 구현하는 열거형

ArticleDeleteResult 열거형이 Result<String> 인터페이스를 구현하도록 합니다. 각 열거형 요소는 인터페이스의 메서드를 구현해야 합니다.

public enum ArticleDeleteResult implements Result<String> {
    FAILURE {
        @Override
        public String getMessage() {
            return "삭제 실패";
        }
    },
    SUCCESS {
        @Override
        public String getMessage() {
            return "삭제 성공";
        }
    }
}

3.3 사용 예제

이제 ArticleDeleteResult 열거형을 사용하는 예제를 살펴보겠습니다.

public class ArticleManager {
    public static void main(String[] args) {
        ArticleDeleteResult result = deleteArticle(12345);
        System.out.println(result.getMessage());
    }

    public static ArticleDeleteResult deleteArticle(int articleId) {
        boolean isDeleted = performDeleteOperation(articleId);

        if (isDeleted) {
            return ArticleDeleteResult.SUCCESS;
        } else {
            return ArticleDeleteResult.FAILURE;
        }
    }

    private static boolean performDeleteOperation(int articleId) {
        // 실제 삭제 작업을 수행하는 메서드
        // 여기서는 예시로 무조건 실패하게 합니다.
        return false;
    }
}

6. 결론

Java의 열거형(enum)은 상수 값들의 집합을 정의하고 이를 코드에서 편리하게 사용할 수 있는 강력한 도구입니다. 이를 통해 코드의 가독성을 높이고, 타입 안정성을 제공하며, 유지 보수를 쉽게 할 수 있습니다. 다양한 기능을 가진 열거형을 잘 활용하면 더욱 효율적이고 안정적인 코드를 작성할 수 있습니다.

반응형
저작자표시 변경금지 (새창열림)

'JAVA' 카테고리의 다른 글

Null에 대해 알아보자  (0) 2024.08.06
Java에서의 일반형(Generic)에 대해 알아보자  (0) 2024.07.03
퍼사드 패턴  (0) 2024.06.28
static, final, static final  (0) 2024.06.28
조건문에서 if만 사용할까? else if를 사용할까?  (0) 2024.06.27
    'JAVA' 카테고리의 다른 글
    • Null에 대해 알아보자
    • Java에서의 일반형(Generic)에 대해 알아보자
    • 퍼사드 패턴
    • static, final, static final
    청춘고양이
    청춘고양이
    신입개발자

    티스토리툴바