본문 바로가기
JAVA

[JAVA] enum(열거형)

by happenstance 2021. 7. 29.

enum(열거형)

   - 서로 관련있는 상수들의 집합을 나타냄

   - 클래스처럼 보이게 하는 상수

   - 열거형은 클래스처럼 독립된 java 파일에 만들 수 있고,

     하나의 java 파일에 다른 클래스와 함께 만들 수 있고,

     클래스 안에 내부 클래스처럼 만들 수 있음.

 

열거형의 속성 및 메소드

   1. name() → 열거형 상수의 이름을 문자열로 반환한다.

   2. ordinal() → 열거형 상수가 정의된 순서(index값)를 반환한다.

   3. valueOf("열거형 상수명") → 지정된 열거형에서 '열거형 상수명'과 일치하는

      열거형 상수를 반환한다.

   4. 열거형이름.상수명  → valueOf("상수명") 메소드와 같다.

 

열거형 선언하기

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

   방법2.
      enum 열거형이름 {
             상수명1(값,..), 상수명2(값,..), 상수명3(값,..);


             // '값들'을 저장할 변수들 선언
		private 자료형이름 변수명1;
             ...
             
             // 열거형의 생성자를 만든다.
             // 열거형의 생성자는 '열거형 상수'에 설정된 '값들'을
             // 변수에 초기화하는 역할을 수행한다.
             // 열거형의 생성자는 묵시적으로 private이다.
             
             // '변수명'은 '값들'과 개수가 같고, 각각의 '값들'과 자료형이 동일해야 한다.
             
             private 열거형이름(자료형이름 변수명, ..) {
             	// 위에 선언된 변수들을 초기화하는 작업을 수행한다.
             }
             
             // 구성된 '값들'을 외부에서 불러올 수 있도록 하기 위하여 
             // getter 메소드를 작성한다.
      }

 

 

실행 결과
실행 결과