hp0724 2023. 8. 8. 22:06

DI 는 Dependency Injection 의 약자 의존 주입

한 클래가 다른 클래스의 메서드를 실행할 때 이를 ‘의존’한다고 표현한다.

public class MemberRegisterService {
	private MemberDao memberDao = new MemberDao();
	public void regist(RegisterRequest req) {
	
	Member member = memberDao.selectByEmail(req.getEmail());
	
}

현재 MemberRegisterService 클래스가 MemberDao클래스에 의존한다 고 표현할수 있다.

의존은 변경에 의해 영향을 받는 관계를 의미한다.

변경에 따른 영향이 전파되는 관계를 ‘의존’한다고 표현

의존하는 대상이 있으면 그 대상을 구하는 방법이 필요하다 .

현재 코드에서는 MemberDao 의 객체를 직접 생성해서 필드에 할당

클래스 내부에서 직접 의존 객체를 생성하는 것이 쉽긴 하지만 유지보수 관점에서 문제점을 유발 가능