IoC, DI 는 객체지향의 SOLID 원칙 그리고 GoF의 디자인 패턴과 같은 설계 원칙 및 디자인 패턴
IoC - 설계원칙 / DI - 디자인 패턴
좋은 코드를 위한 Spring의 IoC와 DI
좋은코드란?
Spring은 개발자가 Java를 사용하여 쉽게 좋은 코드를 작성할 수 있도록 도와주는 역할
IoC와 DI는 spring에서 도와주는 핵심 기술 중 하나
DI를 이해하려면 '의존성'에 대한 이해가 필요.
예를들어 우리가 다리를 다쳐 목발을 사용하여 걷게 된다면, 우리는 걷기 위해 목발에 의존하고 있는 것. 즉 우리는 목발에 의존성을 두게 됨.
주입이란?
우리가 주사기를 통해 백신을 우리 몸 속에 주입하듯이
코드에서의 주입도 마찬가지로 여러 방법을 통해 필요로하는 객체를 해당 객체에 전달하는 것
제어의 역전?
인터페이스를 구현한 객체를 필요로하는 객체에 전달하여 제어를 넘기는 것.