작성
·
186
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
0