변경에 의해 영향을 받는 관계
변경에 따른 영향이 전파되는 관계
한 클래스가 다른 클래스의 메서드를 실행할 때 '의존'한다고 표현
public class MemberRegisterService {
private MemberDao memberDao = new MemberDao(); // MemberDao 클래스 사용
public void regist(RegisterRequest req) {
Member member = memberDao.selectByEmail(req.getEmail());
}
}
}
public class MemberRegisterService {
private MemberDao memberDao; // 의존 객체를 직접 생성
public MemberRegisterService(MemberDao memberDao) {
this.memberDao = memberDao;
}
public void regist(RegisterRequest req) {
Member member = memberDao.selectByEmail(req.getEmail());
}
}
}
public class Main {
public static void main(String[] args){
MemberDao dao = new MemberDao();
MemberRegisterService svc = new MemberRegisterService(dao); // 의존 객체를 생성자를 통해 주입
}
}
MemberDao memberDao = new MemberDao(); // 변경 부분
MemberRegisterService regSvc = new MemberRegisterService(memberDao);
ChangePassworedService pwdSvc = new ChangePassworedService(memberDao);