
DateTimeImmutable 클래스는 불변 객체이기 때문에 setDate 메소드는 실제로 날짜를 변경하는 것이 아니라 새로운 객체를 반환합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
$date = new DateTimeImmutable('2022-01-01');
$newDate = $date->setDate(2022, 1, 2);
위 코드에서 setDate 메소드는 $date 객체의 날짜를 변경하지 않고, 새로운 객체 $newDate를 반환합니다.
따라서 setDate 메소드의 반환 타입은 DateTimeImmutable 인스턴스입니다.
이러한 불변 객체의 특징을 활용하면, 날짜와 시간을 다루는 코드에서 예상치 못한 변경이 발생하지 않도록 보장할 수 있습니다.
2025-06-28 17:40