인프런 커뮤니티 질문&답변

andy15948님의 프로필 이미지
andy15948

작성한 질문수

김영한의 실전 자바 - 중급 1편

문제와 풀이

섹션2 문제와 풀이

해결된 질문

작성

·

144

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
section2 문제와 풀이를 다음과 같이 풀어보았는데, 결과는 맞지만 제 코드에서 부족한 부분이 있는지, 개선점은 없는지 한번 확인 부탁드립니다!

답변 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);

과 동작하는 차이가 없게 됩니다!

해당 메서드를 기존 값을 활용해서 새로운 객체를 생성 후 반환하는 방안을 고민해보시면 좋을 것 같습니다! (적절한 메서드 이름도 같이 고민해보시면 좋을 것 같습니다 🙂 )

 

감사합니다.

andy15948님의 프로필 이미지
andy15948

작성한 질문수

질문하기