Dependency Injection 01) DI개념

Minhee kang·2021년 9월 26일
0

📚 의존 주입 Dependency Injection (DI)

✔ '의존한다'?

한 객체가 다른 객체를 사용 = 의존한다

✔ 강한 결합 / 약한 결합

강한 결합 : 직접 생성하여 사용
약한 결합 : 이미 생성된 것을 주입 받아 사용

public class UnderstandDI {

	public static void main(String[] args) {
    
	}
	
	public static void memberUse1() {
		// 강한 결합 : 직접 생성 
		Member m1 = new Member();
	}
	
	public static void memberUse2(Member m) {
		// 약한 결합 : 생성된 것을 주입 받음 -> 의존 주입 (Dependency Injection)
		Member m2 = m;
	}

}

// Member를 사용한다 -> Member의 기능에 의존한다 라는 의미  
class Member {
	String name;
	String nickname;
	public Member() {}
}

✔ DI 란?

외부에서 두 객체간의 관계(의존성)를 맺어주는 것으로, 위의 예시에서 약한 결합이 DI에 해당된다.

✔ DI을 사용해야 하는 이유


다음 사진에서 Member 클래스의 생성자가 private 일 경우, 강한 결합 에서 에러가 발생한다.

약한 결합 이미 만들어진 것을 주입 받는 것이기 때문에 만들어질지 안만들어질지 걱정할 필요가 없기 때문에 에러가 발생하지 않는다.

따라서 DI를 사용하면 다른 클래스의 변화에 안전하고 유연하게 대처 할 수 있다.

📝 더 상세한 내용이 들어있는 글을 발견했다!

0개의 댓글