[스프링 Core] 도대체 DI(Dependency Injection) 란 무엇인가? 스프링의 핵심 3대 요소 AOP, IOC, DI를 들어보신 적이 있을 것 입니다. 오늘은 DI가 도대체 무엇인지 확실하게 설명해드리겠습니다…!! 그리고 스프링 컨테이너가 IoC인 이유를 알아봅시다. 문제 인식 🤔 public class Driver { private Avante avante; public Driver() { this.avante = new Avante(); } public void drive() { avante.start(); } } 위 클래스는 2가지 문제점이 있습니다. 두 클래스가 강하게 결합 객체들간의 관계가 아니라 클래스간의 관계가 맺어짐 두 클래스가 강하게 결합 Driver 클래스는 Avante..