리꾸므

[JAVA] Enum(열거형) 본문

발걸음/일지

[JAVA] Enum(열거형)

리꾸므 2022. 11. 10. 10:57

Enum : 열거형

  • 서로 연관된 상수들의 집합
  • 상수는 'final' 키워드를 사용하여 선언
  • 몇 가지로 한정된 변하지 않는 데이터를 다루는데 사용
  • 여러 상수들을 보다 편리하게 선언하고 관리할 수 있으며, 상수명의 중복을 피하고 타입 안정성 보장
  • 같은 효과 내는 코드에 반해 더 간결하고 가독성이 좋은 코드를 작성 가능 
  • switch문에서도 작동 가능

 

 열거형의 사용

enum 열거형 이름 { 상수명1, 상수명2, 상수명3, ...}

/

public class Main {
  public static void main(String[] args) {
    enum month{
     JAN, //0 할당
     FEB, //1 할당
     MAR, //2 할당
     APR  //3 할당
    }
    Month month = Month.JAN;
    switch(month) {
     casw Jan:
      System.outprintle("1월");
      break;
  	 casw FEB:
      System.outprintle("2월");
      break;
  	 casw MAR:
      System.outprintle("3월");
      break;     
  	 casw APR:
      System.outprintle("3월");
      break;
    }
   }
  }
  • 상수는 대소문자 모두 작성 가능하지만 관례적으로 대문자 작성
  • 상수들에게 따로 값을 지정하지않아도 자동적으로 0부터 시작하는 정수값이 할당
  • 열거형에 선언된 상수에 접근하는 법은 '열거형이름.상수명'을 통해 가능

 

리턴 타입 메소드(매개변수) 설명
String name() 열거 객체가 가지고 있는 문자열을 리턴하며, 리턴되는 문자열은 열거타입을 정의할 때 사용한 상수 이름과 동일합니다.
int ordinal() 열거 객체의 순번(0부터 시작)을 리턴합니다.
int compareTo(비교값) 주어진 매개값과 비교해서 순번 차이를 리턴합니다.
열거 타입 valueOf
(String name)
주어진 문자열의 열거 객체를 리턴합니다.
열거 배열 values() 모든 열거 객체들을 배열로 리턴합니다.