추상객체와 구현객체를 "동시에" 의존하게 하지 않으려면 -> "구현 객체를 생성하고" "연결"하는 책임을 가진 별도의 설정 클래스를 만들면된다.
("관심사의 분리")
ex) public 인터페이스명 (){
return new 구현객체();
}
public MemberService memberService(){
return new MemberServiceImpl(memberRepository());
}
private MemoryMemberRepository memberRepository() {
return new MemoryMemberRepository();
}
MemoryMemberRepository가 MemberServiceImpl의 생성자에 의해 할당된다.