Calendar 클래스는 추상 클래스이기 때문에 new로 객체 생성이 불가하다.
따라서 Calendar.getInstance() 메소드를 이용하거나 클래스를 상속받아야 객체를 생성할 수 있다.
문제
연, 월, 일을 받아 요일을 반환하는 문제다.
풀이
public static String findDay(int month, int day, int year) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day);
String[] dayOfWeek = {"SUNDAY", "MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"};
return dayOfWeek[calendar.get(Calendar.DAY_OF_WEEK) - 1];
}
객체 생성 후 set으로 연, 월, 일을 지정해 준 후
get으로 요일(int)을 받아오면 된다.
주의할 점은 월은 0부터 시작, 요일은 1부터 시작한다는 것이다.
return값은 처음에 if문을 썼었는데, 배열로 간단하게 치환할 수 있어서 바꿨다.