To Dare Is To Do!
DI와 IoC 본문
IoC란?
- IoC( Inversion of Control )는 제어의 역전으로 메소드나 객체의 호출 작업을 내부에서 직접 관리하지 않고 외부에서 결정하도록 하는 원칙을 의미한다.
- 이는 영화사의 연락(호출)을 기다리는 할리우드 배우의 상황에 비유하여 할리우드 원칙(Don't call us, we'll call you)라고 불리기도 한다.
왜 IoC를 사용하는가?
객체의 결합도를 줄임으로써 유연한 코드를 작성할 수 있도록 하여 유지 보수에 용이하다.
-> 객체 지향 원칙을 잘 지킬 수 있다.
+ DIP란?
DIP( Dependency Inversion Principle )는 의존 역전 원칙으로 상위 레벨 모듈이 하위 레벨 모듈에 의존하는 관계를 역전시키는 것을 의미한다.
이 때 지켜야 할 2가지 원칙으로
1. 상위 모듈은 하위 모듈에 종속되는 것이 아닌 상,하위 모듈 모두 추상화에 의존한다.
2. 추상화가 세부사항에 의존하는 것이 아닌 세부사항이 추상화에 의존해야 한다.
등이 있다.
DI란?
- DI( Dependency Injection)는 의존성 주입으로 외부에서 클래스간 의존성(한 클래스의 변경이 다른 클래스에 영향을 줌)을 주입하는 것을 의미한다.
- 의존성을 주입하는 방법에는 생성자 주입, setter 주입, 필드 주입 3가지가 존재한다.
왜 DI를 사용하는가?
코드의 재사용성 및 유연성이 높아지고 객체 간 결합도를 줄여 유지보수에 용이하다.
'Spring' 카테고리의 다른 글
HTTP Method (1) | 2023.11.06 |
---|---|
Spring 3계층 속 DI (0) | 2023.11.05 |
직접 만들고 뜯어본 Controller (1) | 2023.11.03 |
스프링의 꽃, 3계층 (0) | 2023.10.31 |
오버라이딩을 구현할 때 @Override 어노테이션은 반드시 필요할까? (0) | 2023.10.24 |