1. 의존이란?

"DI"


2. DI를 통한 의존 처리

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); // 의존 객체를 생성자를 통해 주입
	}
}

3. DI와 의존 객체 변경의 유연함

MemberDao memberDao = new MemberDao(); // 변경 부분
MemberRegisterService regSvc = new MemberRegisterService(memberDao);
ChangePassworedService pwdSvc = new ChangePassworedService(memberDao);