[java] 자바 11에서 추가된 YearMonth의 lengthOfMonth() 메서드 사용하기
자바 11에서는 java.time 패키지에 YearMonth 클래스가 추가되었습니다. 이 클래스는 연도와 월을 표현하는데 사용되며, 다양한 날짜 연산을 지원합니다. 이번 글에서는 YearMonth 클래스의 새로운 메서드 중 하나인 lengthOfMonth()에 대해 알아보겠습니다.
lengthOfMonth() 메서드란?
lengthOfMonth() 메서드는 YearMonth 객체에서 해당 월의 일 수를 반환하는 메서드입니다. 즉, 해당 월이 몇 일까지 있는지를 알려줍니다. 이는 윤년과 달의 길이에 따라 다르게 반환될 수 있습니다.
사용 방법
YearMonth 객체를 생성한 후, 해당 객체의 lengthOfMonth() 메서드를 호출하여 월의 일 수를 얻을 수 있습니다. 다음은 사용 예제입니다.
import java.time.YearMonth;
public class Main {
public static void main(String[] args) {
YearMonth yearMonth = YearMonth.of(2022, 2);
int lengthOfMonth = yearMonth.lengthOfMonth();
System.out.println("2022년 2월의 일 수: " + lengthOfMonth);
}
}
위 코드에서 YearMonth.of() 메서드를 사용하여 YearMonth 객체를 생성하고, lengthOfMonth() 메서드를 호출하여 해당 월의 일 수를 얻습니다. 이후 일 수를 출력합니다.
이 예제 코드를 실행하면 다음과 같은 결과가 출력됩니다.
2022년 2월의 일 수: 28
위 결과에서 볼 수 있듯이, 2022년 2월은 28일까지 있습니다.
주의사항
- lengthOfMonth() 메서드는 1부터 12 사이의 월만 유효하며, 그 이외의 값이 주어지면 DateTimeException이 발생합니다.
- YearMonth 객체는 불변(immutable) 객체이므로, lengthOfMonth() 메서드를 호출해도 해당 객체에는 영향을 주지 않습니다.
결론
YearMonth 클래스의 lengthOfMonth() 메서드는 해당 월의 일 수를 반환하는 간편한 메서드로서, 자바 11에서 도입된 유용한 기능 중 하나입니다. 이를 통해 연도와 월에 대한 다양한 날짜 연산을 더욱 편리하게 처리할 수 있습니다.
더 자세한 내용은 Java 11 API 문서를 참고하시기 바랍니다.