상세 컨텐츠

본문 제목

IoC(제어의 역전)와 DI(의존성 주입)

스프링

by R4MeN 2024. 5. 31. 11:53

본문

IoC(제어의 역전)

IoC란

  • IoC(Inversion of Control)는 객체의 생성과 생명 주기 관리의 제어 권한을 개발자가 아닌 프레임워크나 컨테이너가 담당하는 디자인 패턴을 의미함
  • 애플리케이션의 흐름을 개발자가 제어하지 않고, 제어권을 프레임워크나 컨테이너에 넘기는 방식임

특징

  • 객체 생성과 관리: 객체의 생성, 초기화, 생명 주기, 의존성 등을 프레임워크가 관리함
  • 유연성 증가: 객체 간의 결합도를 낮추고 코드의 유연성을 높임
  • 모듈화: 애플리케이션을 더 모듈화 하고 테스트하기 쉬움

DI(의존성 주입)

DI란

  • DI(Dependency Injection)는 객체 간의 의존 관계를 설정할 때, 객체가 직접 의존 객체를 생성하지 않고 외부에서 주입받는 방식임
  • DI는 IoC를 구현하는 주요 방법 중 하나임

DI의 종류

  1. 생성자 주입: 생성자를 통해 의존성을 주입받음
  2. 세터 주입: 세터 메서드를 통해 의존성을 주입받음
  3. 필드 주입: 필드에 직접 의존성을 주입받음

DI의 장점

  • 테스트 용이성: 모킹을 통해 단위 테스트가 용이해짐
  • 유연성: 의존 객체를 쉽게 교체할 수 있음
  • 결합도 감소: 객체 간의 결합도를 낮추고 코드의 유연성을 높임

'스프링' 카테고리의 다른 글

CascadeType  (0) 2024.06.07
JWT를 사용한 인증/인가의 장점과 한계점  (0) 2024.06.03
p6spy-spring-boot-starter 라이브러리  (1) 2024.05.23
스프링 3 Layer Architecture  (0) 2024.05.22
인증의 방식  (0) 2024.05.22

관련글 더보기