Dependency Injection (의존성 주입) 객체가 자체적으로 필요로 하는 의존성을 생성하는 것이 아니라, 외부에서 주입받는 디자인 패턴입니다. 객체간의 결합도를 낮추기 위해 사용합니다. 주로 Contructor 기반 주입, Field 기반 주입, Setter 기반 주입이 있습니다. DI를 사용하지 않을 경우 package org.example.ChickenStore class ChickenStoreWithoutDI { private val chicken: Chicken = FriedChicken() fun getCookedChicken(): Chicken { chicken.cook() return chicken } } class ChickenStoreWithoutDI2 { private val..