Closed deingvelop closed 1 year ago
1. 인터페이스를 구현한 구현체에서 @Override
를 쓴 메서드는 public만 쓸 수 있는지?
2. private 메서드의 경우, 해당 인터페이스에서만 사용할 것이긴 하지만 다른 구현체에서도 공통으로 쓰게 하고 싶다. 이럴 때에는 어떻게 구현하는가?
똑같이 package-private
으로 메서드를 만들어놓고 구현체에서 (반복되더라도) 구현하는가?
혹은 인터페이스에서 아예 구현해버리는가? 근데 그러면 repository를 의존하는가?
해당 코드
private Team findTeam(Long teamId) {
Team team = teamRepository.findById(teamId)
.orElseThrow(() -> new NotFoundException(TEAM_NOT_FOUND));
return team;
}
private Member findMember(Long memberId) {
Member member = memberRepository.findById(memberId)
.orElseThrow(() -> new NotFoundException(MEMBER_NOT_FOUND));
return member;
}
3. 혹은 위의 findTeam
같은 경우, 여러 서비스에서 쓰이기 때문에 하나의 분리된 클래스로 묶어야 하는가?