본문 바로가기

언어 기초/JAVA

열거형 - ENUM [JAVA | 학습을 위한 자료 | 김영한 자바 중급 1편]

 

 

ENUM

 

 



자바는 타입 안전 열거형 패턴"(Type-Safe Enum Pattern)을 매우 편리하게 사용할 수 있는 열거형(Enum Type)을 제공한다.
쉽게 이야기해서 자바의 열거형은 앞서 배운 타입 안전 열거형 패턴을 쉽게 사용할 수 있도록 프로그래밍 언어에서 지원 하는 것이다.

영어인 `enum` `enumeration` 의 줄임말인데, 번역하면 열거라는 뜻이고, 어떤 항목을 나열하는 것을 뜻한다. "Enumeration"은 일련의 명명된 상수들의 집합을 정의하는 것을 의미하며, 프로그래밍에서는 이러한 상수들을 사용하 여 코드 내에서 미리 정의된 값들의 집합을 나타낸다.

 

 

 

 


주요 메서드

 

 



  • values()**: 모든 ENUM 상수를 포함하는 배열을 반환한다.
  • valueOf(String name)**: 주어진 이름과 일치하는 ENUM 상수를 반환한다.
  • name()**: ENUM 상수의 이름을 문자열로 반환한다.
  • ordinal()**: ENUM 상수의 선언 순서(0부터 시작)를 반환한다.
  • toString()**: ENUM 상수의 이름을 문자열로 반환한다. `name()` 메서드와 유사하지만, `toString()` 은 직접 오버라이드 할 수 있다.

주의 ordinal()은 가급적 사용하지 않는 것이 좋다.

  • ordinal()의 값은 가급적 사용하지 않는 것이 좋다. 왜냐하면 이 값을 사용하다가 중간에 상수를 선언하는 위치가 변경되면 전체 상수의 위치가 모두 변경될 수 있기 때문이다.
 

 

 

 


문제 풀이

 

인증 등급 만들기

패키지의 위치는 `enumeration.test` 를 사용하자.
회원의 인증 등급을 `AuthGrade` 라는 이름의 열거형으로 만들어라.
인증 등급은 다음 3가지이고, 인증 등급에 따른 레벨과 설명을 가진다. 레벨과 설명을 `getXxx()` 메서드로 조회할 수 있어야 한다.

 

인증 등급 열거형 조회하기

 

AuthGradeMain1` 이라는 클래스를 만들고 다음 결과가 출력되도록 코드를 작성해라.

앞서 만든 `AuthGrade` 을 활용하자

 

인증 등급 열거형 활용하기

  • 인증 등급을 입력 받아서 앞서 만든 `AuthGrade` 열거형으로 변환하자.
  • 인증 등급에 따라 접근할 수 있는 화면이 다르다.
    예를 들어 GUEST 등급은 메인 화면만 접근할 수 있고, ADMIN 등급은 모든 화면에 접근할 수 있다.
    각각의 등급에 따라서 출력되는 메뉴 목록이 달라진다. 다음 출력 결과를 참고해서 코드를 완성하자.
 


문제 풀이 2

문제 설명

enumeration.test.http` 패키지를 사용하자.

HttpStatus` 열거형을 만들어라.

  • HTTP 상태 코드 정의
    `OK`
    code: 200
    message: "OK"

    `BAD_REQUEST`
    code: 400
    message: "Bad Request"

    'NOT_FOUND`
    code: 404
    message: "Not Found" `

    INTERNAL_SERVER_ERROR`
    code: 500
    message: "Internal Server Error"
  • **참고**: HTTP 상태 코드는 200 ~ 299사이의 숫자를 성공으로 인정한다.