강의

멘토링

커뮤니티

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

째꾸뇽님의 프로필 이미지
째꾸뇽

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 리포지토리 테스트 케이스 작성

save() 메소드 내에서 result 정의할 때 질문이 있습니다

작성

·

273

1

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.
Member result = repository.findById(member.getId()).get();
 
이 구문만으로 result 객체와 member 객체가 같아지는 것이 이해가 잘 가질 않습니다.
 
저 구문에서 result 객체를 생성함과 동시에 result 의 id 를 member 의 id 와 같게하는 것은 이해가 갔습니다. 하지만 그것만으로 result 객체와 member 객체가 isEqualTo 메소드에서 같은 값이 나오는 것이 이해가 가질 않습니다.
 
혹시 제가 저 구문을 잘 못 이해하고 있는 건가요?
답변 부탁드립니다..!!

답변 1

1

안녕하세요. 최재혁님, 공식 서포터즈 David입니다.
.

아래 글 답변 참고 부탁드립니다:)
https://www.inflearn.com/questions/270335
.
감사합니다.

 

째꾸뇽님의 프로필 이미지
째꾸뇽
질문자

첨부해주신 링크 잘 읽었습니다. 감사합니다!

isEqualTo 메소드의 인자로 객체가 들어가면 레퍼런스 비교를 하는 것은 이해가 갔습니다. 

그런데, 제가 헷갈리는 지점이

Member result = repository.findById(member.getId()).get();

이 구문에서 result 객체를 생성할 때, 저렇게 member 객체의 id 값만 result 객체의 id 로 전달해주면, result 의 name 또한 member 의 name과 일치가 되는 것일까요? 

이 부분이 이해가 잘 안되는 것 같습니다..

이 부분은 findById메서드 내부동작을 이해하셔야 합니다. 이전 강의에서 작성되는 코드를 천천히 살펴보시겠어요?

째꾸뇽님의 프로필 이미지
째꾸뇽
질문자

아 이해가 됐습니다. 

findById 메소드의 return 값이 애초에 member 객체였군요. id 값을 result id 에 대입하는 것이 아니라는 걸 제가 놓쳤었네요.

 친절한 답변 정말 감사드립니다!

째꾸뇽님의 프로필 이미지
째꾸뇽

작성한 질문수

질문하기