[스프링 Core] 도대체 DI(Dependency Injection) 란 무엇인가?

• DI(Dependency Injection)는 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 두 객체 사이에 인터페이스를 두어 클래스 레벨에서 의존관계가 고정되지 않도록 하며, 런타임 시에 관계를 동적으로 주입하여 느슨한 결합을 가능하게 한다.
• 스프링 프레임워크는 이러한 DI를 완벽하게 지원하며, 애플리케이션 실행 시점에 빈(Bean)으로 등록된 객체를 생성하고, 의존성에 맞게 알아서 주입해준다.
• 스프링은 클래스를 탐색하고 객체를 생성하여 객체 관리를 하는 DI(Dependency Injection) 컨테이너로, 이를 통해 개발자는 객체를 주입받아 사용하게 되며 이를 IoC(Inversion of Control)라고 부릅니다.
• DI를 사용하면 DIP(의존성 역전 원칙)을 지킬 수 있으며, 이는 객체 간의 결합도를 낮추고 유연성을 높여 테스트 작성이 용이해지는 등의 이점을 가져옵니다.

북마크
공유하기
신고하기