작성
·
568
0
답변 1
4
안녕하세요. 김주형님, 공식 서포터즈 OMG입니다.
1.
STEP1 ) MemoryMemberRepository.class
findById 메서드는
데이터베이스 대신 사용하는 메모리 저장소인 store에서 파라미터로 받은 memberId로 Member객체를 가져와서 반환합니다.
STEP2) MemberServiceImpl.class
findMember 메서드는 파라미터로 받은 member의 id (memberId)를 통해 저장소에서 id로 Member를 찾아서 반환합니다.
질문주신 부분에 대해 답변을 드리면
Member의 getId는 Member객체 자체에서 id를 가져오는 반면, findById는 Member들의 저장소에서 member의 Id를 통해 member를 조회한 후, Member를 반환한다는 차이점이 있습니다.
예를 들어,
인프런에서 제 고유id는 202271입니다. 아래의 링크를 들어가보시면 제 정보가 출력되는 것을 확인하실 수 있을꺼에요.
https://inflearn.com/users/202271
member.getId()는 저라는 회원 객체의 id(202271)를 반환하는 반면,
[1]findById()는 findById(202271) 혹은
Long omgId = 202271L;
findById(omgId);
[2]
Member omg;
인프런회원데이터저장소.findById(omg.getId());
와 같이 데이터저장소에서 조회하고자하는 id를 통해서 회원데이터를 가져온다는 차이점이 있습니다.
[1]과 [2]의 경우,인프런 회원저장소에서 조회하고자 하는 id에 제 id를 인자로 넣었으니 제가 조회되겠죠?
2.
(자바와 스프링에 대한) 프로그래밍 경험이 적다면 어려울 수 있지만, 경험이 조금 있으신 분들(조금만 학습하시게 되면) 어려운 개념은 아니라고 생각합니다.
프로그래밍에 대한 학습을 꾸준히 하신다면 어느순간 생각이 트이면서 이해하시게 될거라고 생각하며 그렇게 되기까지 영한님과 서포터즈가 도움드릴테니 강의 수강하시다가 강의와 관련된 궁금한점 있으시면 언제든 질문 남겨주세요.
감사합니다.
와... 정확하게 이해했어요!! 기대한 것보다 설명이 너무 좋아요^^ 정말 감사합니다