기본 정의

enum사용

package com.java.datastruct04.enum_;

//enum 선언  1.클래스 밖에 선언 2.클래스 안에 선언  가능
//상수(정보)들을 범위제한 해서 사용하고 싶을때
// 1.클래스 밖에 선언
//enum Season{
//	SPRING,SUMMER,FALL,WINTER	
//}

public class Enum01 {
	//2.클래스 안에 선언 
	enum Season{
		SPRING,SUMMER,FALL,WINTER	
	}

	public static void main(String[] args) {
		// Enum(열거형)객체: 여러개의 상수를 모아 관리 하기 위한 객체 이다.
		//변수는 값은 지정할 수 있는데 특정 범위를 지정할 수는 없다.

		
		//1.객체 생성:new 연산자를 사용하지 않고, 타입명,속성명으로 객체를 호출하여 사용한다.
		//Season s = Season.SPRING;
		//System.out.println(s);
		
		//2.타입.속성명으로 호출하여 static과 같은 특징으로 사용가능하다.
		System.out.println("내가 제일 좋아하는 계절은 :"+Season.SPRING);
		System.out.println("내가 제일 좋아하는 계절은 :"+Season.FALL);
		System.out.println("내가 제일 좋아하는 계절은 :"+Season.SUMMER);
		System.out.println("내가 제일 좋아하는 계절은 :"+Season.WINTER);
		
		for(Season se :Season.values())
			System.out.println(se);
		
		//3.관련메서드 valueof
		Season se1 = Season.valueOf("FALL"); //매개변수의 문자열과 동일한 열거행 객체를 리턴한다.
		System.out.println(se1);
		
	}

}

enum 클래스

사용 예1)

package com.java.datastruct04.enum_;

//일반적으로  클래스에서 상수를 표현해서 데이터를 표현 하려면,아래와 같이 상수를 선언해야 한다.
//public class Day {
//	public static final String SUN="SUN";
//	public static final String SUN="MON";
//	public static final String TUE="TUE";
//	public static final String WEN="WEN";
//	public static final String THU="THU";
//	public static final String FRI="FRI";
//	public static final String SAT="SAT";
//
//}

//훨씬 간편하게 코드를 작성할 수 있다.
public enum Day {
   // 0  1  2   3   4    5  6
	SUN,MON,TUE,WEN,THU,FRI,SAT
	
	
	
	
	
}

package com.java.datastruct04.enum_;

public class Enum02 {

	public static void main(String[] args) {
		// Enum >상수에 접근

		System.out.println(Day.MON);
		System.out.println(Day.MON.ordinal()); // 순서를 가져올 수 있다. 0번 부터 시작

		for (Day d : Day.values())
			System.out.println(" " + d);
		// switch 구문
		Day d = Day.SAT;
		switch (d) {
		case SAT:
			System.out.println("즐거운 토요일 입니다.");
			break;
		case MON:
			System.out.println("피곤한 날입니다.");
			break;
		default:
			System.out.println("오늘 하루도 화이팅 !!!");

		}
	}

}

사용 예2)