Java

Java 기초 문법(8)

siwoli 2023. 12. 20. 02:27

열거 타입(enumeration type)

enum의 간단한 사용법만 소개합니다.

  • 한정된 값인 열거 상수(enumeration constant)중에서 하나의 상수를 저장하는 타입
public enum 열거타입이름 {열거상수,...}
열거타입 변수 = 열거타입.열거상수;

Week today = Week.SATURDAY;
// today변수와 Week.SATURDAY변수는 같은 Week객체 참조

Week birthday = null;
  • 열거 타입을 선언하려면 열거 타입 이름으로 .java 소스 파일 생성해야함
  • 열거 타입의 이름은 첫글자 대문자
  • 열거 상수는 모두 대문자 또는 여러 단어일경우 _로 연결, 각 열거 상수는 객체이므로 열거 객체들의 필드 값은 열거 상수의 문자열임
  • 열거 타입 변수에 열거 상수를 저장하려면 반드시 ‘열거타입.열거상수’ 형태로 사용해야함
  • 열거 타입 변수도 참조 타입 변수이므로 null값 저장 가능
  • .name( ) : 열거 객체의 문자열 객체 참조값 반환
  • .ordinal( ) : 열거 객체의 순번 반환
enum Season {SPRING, SUMMER, FALL, WINTER}

public class EnumApp {
	public static void main(String[] args) {
		Season aSeason = null;
		aSeason = Season.WINTER;
		Season theSeason = Season.SUMMER;
		
		String seasonName = aSeason.name(); // 열거 객체의 문자열 객체 참조값 반환
		System.out.println(seasonName);
		System.out.println(theSeason.compareTo(aSeason)); // 맨 위에서 선언했던 열거형의 순서로 비교
		
		int ordinal = theSeason.ordinal(); // 열거 객체의 순번 반환
		System.out.println(ordinal);
	}
}