Period 객체는 우리가 흔히 아는 날짜처럼 표현되지 않고, 날짜 값 그 자체를 표현한다고 보시면 됩니다. 말로는 이해가 잘 안 가실테니 예시를 살펴보겠습니다.


우리가 흔히 사용하는 yyyy-MM-dd의 형태가 아니죠?
살펴 보시면 P는 Period 값을 의미합니다.
그리고 Month는 값이 30인데도 그대로 출력이 됐네요.
이처럼 Period는 년, 월, 일 값을 별다른 계산 없이 그대로 담고 있습니다.
직관적인 메서드들입니다. 매개변수로 입력한 값 * 날짜 단위 값을 반환합니다.


두 LocalDate 타입의 날짜 차이를 Period 타입으로 반환합니다.


두 Period를 더하고 빼는 기능입니다. 반환값은 역시 Period 타입이고,
minus는 음수값도 나올 수 있습니다.


시간 객체에 자주 쓰이는 메서드들입니다. Period 타입값을 순서대로 년, 월, 일 값을 추출하는 메서드입니다. 반환값은 int입니다.
마지막 get(TemporalUnit unit)은 유닛 단위로 Period 값을 계산합니다.
반환값은 Long입니다.


Period의 부호를 반전시키는 메서드입니다. 반환타입은 Period입니다.


정규화 메서드입니다. 범위를 벗어난 Period 값을 우리가 아는 날짜 규칙에 맞게끔 수정합니다.


isNegative()는 Period 타입이 음수이면 true 아니면 false를 출력하고,
isZero()는 Period의 모든 구성요소가 0이면 true 아니면 false를 출력합니다.


Period의 구성요소에 입력한 값만큼 곱셈을 해주는 메서드입니다. 반환타입은 Period입니다.
