🧩 enum
- Enumeration
 
- 데이터 중에는 요일(월,화,수,목,금,토,일), 계절(봄,여름,가을,겨울) 등과
같이 몇 가지 한정된 값을 갖는 경우가 있다. 
- 열거 타입에 들어가는 값(월, 화, ... )들을 열거 상수라고한다.
 
- 자바 class대신 enum을 적어준다.
 
- 열거 상수를 적을때는 첫 글자를 대문자로 작성. 
 
- 순서에 따라  0부터 index를 가지게 되며, 1씩 증가
 
- enum 열거형으로 지정할 상수들은 전부 대문자로 선언
 
- 열거 상수들을 선언한 뒤에는 세미콜론(;)을 작성하지 않고,
상수("문자열")등 상수와 다른 값을 연결하는 경우에는 세미콜론(;) 작성 
- 코드가 단순해 지며 가독성이 좋아짐
 
1) 열거 상수를 다른 값과 연결하기
- 상수("연결문자"), 상수(값)과 같은 형태로 작성
 
- 상수들을 열거한 끝에 ; 작성
 
- 해당 자료형에 맞는 private 생성자 필요
 
- 연결한 값을 반환해줄 getter 메서드 필요
 
🧩enum 실습
💊실습 1)
week
public enum Week {
	
	MONDAY, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;
	
	
	public void dayInfo() {
		System.out.println("dayInfo enum");
	}
}
Main01
public class Main01 {
	public static void main(String[] args) {
		Week today = Week.FRIDAY;
		System.out.println(today);
		
		Week.MONDAY.dayInfo();
		Week.TUESDAY.dayInfo();
	}
}

💊실습 2)
Season
public enum Season {
	SPRING, SUMMER, FALL, WINTER
}
Main02
public class Main02 {
	public static void main(String[] args) {
		Season season = Season.SPRING;
		
		
		String name = season.name();
		System.out.println(name);
		System.out.println("-----");
		
		
		int ordinal = season.ordinal();
		System.out.println(ordinal);
		System.out.println("-----");
		
		Season[] season1 = Season.values();
		
		for( Season s : season1) {
			System.out.println(s);
		}
	}
}

💊실습 3)
Type
public enum Type {
	
	WALKING("워킹화"),
	RUNNING("러닝화"),
	TRACKING("트래킹화"),
	HIKING("등산화");
	
	
	final private String name;
	
	
	private Type(String name) {
		this.name =name;
	}
	
	
	public String getName() {
		return name;
	}
}
Main03
public class Main03 {
	public static void main(String[] args) {
		for(Type type : Type.values()) {
			System.out.println(type.getName());
		}
	}
}
