Programming/Java
[Java] 강한 결합 vs 약한 결합(의존성 주입)
H.Sunny,,
2024. 10. 14. 13:32
강한 결합
객체 간의 의존 관계에서 직접 객체를 생성 하는 경우
- 생성부터 메모리 관리를 위한 소멸까지 해당 객체의 라이프 사이클을 개발자가 다 관리해야함
ex)
public void test1(){
Test t1 = new Test(); // 강한 결합 - 직접 생성
}
약한 결합
객체 간의 의존 관계에서 이미 생성한 객체를 주입 받는 경우
- 사용하기만 하면 되므로 개발자가 관리할 것이 적음
ex)
public void test2(Test t){ // 약한 결합 - 생선된 것을 주입 받음(의존성 주입)
Test t2 = t;
}
의존성 주입(DI)을 통해 약한 결합을 사용하면 다른 클래스의 변화에 더욱 안전하고 유연하게 대처할 수 있음