Java/BookExample

열거 타입과 열거 상수

어굴애 2021. 3. 3. 01:24

p.175 Calendar.getInstance() 메소드와 get()메소드의 활용

package BookExampleHomework;

import java.util.Calendar;

public class EnumWeekExample {

	public static void main(String[] args) {
		Week today = null;	//열거타입 변수 선언 -->스택메모리에 today 저장, 아직 참조하는 값은 없음
		
		Calendar cal = Calendar.getInstance(); 
		//getInstance 메소드의 리턴 값으로 Calendar 객체 반환되고, 그 주소를 cal에 저장함. 이를 통해 년,월,일,요일,시간,분,초를 얻을 수 있는 get()메소드를 이용할 수 있음.
		//getInstance 메소드 안에 힙메모리에 할당하는 과정이 포함되어 있기 때문에 객체가 반환됨.
		int week = cal.get(Calendar.DAY_OF_WEEK); //일1~토7까지의 숫자를 리턴
		//get메소드를 통해 cal에 담긴 날짜정보를 요일별 숫자로 리턴해 변수 week에 저장
		
		switch(week) {
		case 1:
			today = Week.SUNDAY; break; //열거상수대입 (열거상수는 항상 열거타입.열거상수의 형태로 쓰임)
		case 2:
			today = Week.MONDAY; break;
		case 3:
			today = Week.TUSEDAY; break;
		case 4:
			today = Week.WEDNESDAY; break;
		case 5:
			today = Week.THURSDAY; break;
		case 6:
			today = Week.FRIDAY; break;
		case 7:
			today = Week.SATURDAY; break;
		}
		System.out.println("오늘 요일: "+ today);
		
		if(today == Week.SUNDAY) {
			System.out.println("일요일에는 축구를 합니다.");
		}else {
			System.out.println("열심히 자바 공부합니다.");
		}
	}
}