해결된 질문
작성
·
144
답변 1
0
안녕하세요. andy15948님, 공식 서포터즈 y2gcoder입니다.
원본 객체에서 값만 변경해서 불변 객체를 다시 생성하는 메서드(getDate)를 만들어 해결해보려고 하셨던 것 같습니다!👍
먼저 수정하는 부분에서
ImmutableMyDate date = date1.getDate(new ImmutableMyDate(2025, 1, 1));
를
ImmutableMyDate date2 = date1.getDate(new ImmutableMyDate(2025, 1, 1));
로 바꿔주시는 것이 date2 만 변경하고자 하는 원래의 문제 의도와 더 맞을 것 같습니다 🙂
getDate()에서는 기존 객체의 값을 활용하여 새로운 객체를 생성하지 못한다는 것이 조금 아쉽습니다!
getDate()에 새 ImmutableMyDate 객체를 생성해서 넣어주고 있는데, 이렇게 하면
ImmutableMyDate date2 = new ImmutableMyDate(2025, 1, 1);
과 동작하는 차이가 없게 됩니다!
해당 메서드를 기존 값을 활용해서 새로운 객체를 생성 후 반환하는 방안을 고민해보시면 좋을 것 같습니다! (적절한 메서드 이름도 같이 고민해보시면 좋을 것 같습니다 🙂 )
감사합니다.