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

yu_rim02님의 프로필 이미지
yu_rim02

작성한 질문수

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

회원 서비스 테스트

MemberService 질문 입니다

작성

·

193

2

안녕하세요, 좋은 강의 잘 보고 있습니다.

레포지토리와 서비스 구현하신 코드 보고 공부하고 있는데요,

1. MemberService 에서 MemoryMemberRepository를 final로 생성한 이유가 있으신가요?

2. 또 MemberService1,2,3...가 만들어진다면 그만큼 많은 Repository가 생성될 수 있나요? 

감사합니다

답변 3

5

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. yu_rim02님 

1. final로 생성한 이유는 실행도중에 동적으로 MemoryMemberRepository를 다른 객체로 바꾸지 말라는 의미입니다. 현재 의도가 처음 생성시점에 객체를 확정하고, 이후에 변경하면 안되다는 것을 명시적으로 지정한 것이지요. final을 붙이면 만약 실행 도중에 다른 객체로 바꾸는 코드가 나타나면 컴파일 오류가 발생해서, 중간에 바뀌는 문제를 예방할 수 있습니다. 더 자세한 내용은 다음 강의인 스프링 핵심 원리에서 자세히 설명드립니다.

2. Service의 숫자와 Repository의 숫자는 1:1이 아닙니다. Repository가 보통 더 재사용성이 높기 때문에 여러 Service에서 같은 Repository를 참조해서 사용합니다.

감사합니다.

1

yu_rim02님의 프로필 이미지
yu_rim02
질문자

상세한 답변 감사드립니다!

다음 강의가 기대되네요 :)

0

김영한님의 프로필 이미지
김영한
지식공유자

네 yu_rim02님 열심히 공부하시고, 또 궁금한 내용이 있으면 언제든지 편하게 질문 남겨주세요^^ 화이팅!

yu_rim02님의 프로필 이미지
yu_rim02

작성한 질문수

질문하기