Spring - IoC와 DI

‍bng4535·2023년 3월 18일
0

스프링을 학습하면 IoC와 DI가 항상 등장하는데 둘을 비슷한 개념으로 보았다. 이번 기회를 통해 두 단어가 의미하는 것이 무엇이고 어떻게 다른지 이해하고자 한다.

IoC(Inversion of Control)

  • 객체가 자신이 사용할 객체를 직접 생성하고 관리하지 않고, 외부에서 생성하고 관리하는 방식
  • 제어의 권한이 객체 자신에서 외부로 이전
  • spring에서는 컨테이너가 객체(Bean)를 관리하며, 이로써 객체간 결합도를 낮추어 유연한 코드를 작성할 수 있다.

DI(Dependency Injection)

  • 객체가 의존하는 객체를 외부에서 주입받는 것 ex) 생성자, 메서드, 인터페이스
  • 객체간 결합도를 낮추고 테스트하기 쉬운 코드를 작성할 수 있다.

DI와 IoC

  • DI는 IoC를 구현한 하나의 방법이라고 볼 수 있다.
profile
공부 기록

0개의 댓글