의존성이란?
•
상호간의 코드에서 서로 관계가 생기는 것
•
아래와 같이 B 클래스에서 A 클래스를 내부에 변수로 사용하게 됨으로써
B 클래스는 A 클래스에 의존관계가 생기게 된다.
주입이란?
내부가 아닌 외부에서 객체를 생성해서 넣어주는 것
의존성 주입이란?
•
Dependency-Injection
•
내부에서 만든 변수를 외부에서 넣어주는 것 == 프레임워크가 주체가 되어 내가 필요한 클래스 등을 대신 관리한다.
◦
클래스 생성에서 주입하는 방법
◦
의존성 있는 클래스의 오브젝트를 외부에서 넣어주는 것
•
의존성 주입 방법
◦
생성자를 이용한 의존성 주입(Constructor Injection)
class User {
constructor(private name: string) {}
}
TypeScript
복사
◦
수정자를 이용한 의존성 주입(Setter Injection)
◦
필드를 이용한 의존성 주입(Field Injection)
의존성 분리란?
•
상위계층이 하위계층에 의존하게 되는 상황을 반전시켜서 하위 계층의 구현으로 부터 독립시키는 것
IOC란?
•
Inversion of Control
•
제어 역전(제어의 주제가 역전되는 패턴) == 나 대신 프레임워크가 제어
IoC : Inversion of Control (제어의 역전) → 대신 해줌
DI : Dependency Injection (의존적 주입) → 미리 찜해 놓음