DI(Dependency Injection)이란? 의존성을 객체 외부에서 주입해주는 형식 SOLID원칙중 DIP(의존성 역전 원칙)으로 특정 모듈에 의존하지 않고 의존성이 역전됨을 의미 상위모듈은 의존성 주입을 통해 하위 모듈에 의존하지 않고 구조 설계 가능 Dependency Injection이 적용되지 않은 경우 class Foo { private var bar: Bar init() { self.bar = Bar() } } Dependency Injection이 적용된 경우 class Foo { private var bar: Bar init(bar: Bar) { self.bar = bar } } DI가 필요한 이유 Interface를 통해 구체타입에 의존하지 않고(결합도↓) 상황에 따라 변경가능하고 ..