Interview Question

[Interview Question] IoC와 DI란 무엇인가요?

sagecode 2025. 8. 31. 02:57

spring boot는 IoC(제어의 역전) 컨테이너 즉, applicationContext가 spring에서 사용하는 bean이라는 객체를 직접 생성하고 관리합니다. 또한 DI(의존성 주입)을 이용해 의존 객체를 외부에서 주입해줍니다. 예를들어 service에서 repository 객체가 필요한 경우 new 연산자로 직접 객체를 생성하게 되면 결합도가 너무 높아집니다. 따라서 ioc 컨테이너가 미리 bean객체를 생성해두고 외부에서 생성자주입, 세터주입, 필드주입 등 여러가지 방식으로 넣어줍니다.