인프런 커뮤니티 질문&답변

김지수님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

IoC, DI, 그리고 컨테이너

제어의 역전 IOC

23.03.25 11:40 작성

·

831

0

Ioc,DI,그리고 컨테이너 5분 28초에서

제어의 역전 설명이 나오는데, 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것이 IoC 라고 하는데 여기서 현재 외부에서 관리하는 것이 AppConfig인거고,

내가 작성한 코드를 직접 제어의 흐름을 담당한 것이므로 현재 프레임 워크가 아닌 라이브러리로 개발한 상태라고 이해하는 것이 맞을까요?

답변 1

0

David님의 프로필 이미지

2023. 03. 25. 16:25

안녕하세요. 김지수님, 공식 서포터즈 David입니다.

  1. AppConfig가 객체 주입에 대한 프로그램의 제어 흐름을 주관하고 있습니다.

  2. 직접 작성하신 코드는 어느 것에도 해당되지 않습니다. 라이브러리라고 하면 통상적으로 jar로 패키징 되어 프로젝트에서 import 하여 사용할 수 있는 상태를 말합니다. 강의에서 작성한 코드는 의존관계 설정의 책임을 별도의 클래스로 분리하여 작성한 것(AppConfig.class)이며 그 결과 해당 코드는 IoC가 적용된 것이라 볼 수 있습니다.

감사합니다.

김지수님의 프로필 이미지
김지수
질문자

2023. 03. 25. 20:48

음..라이브러리는 아니지만 외부에서 관리한다 하여 AppConfig는 ioc다 라고 이해하는게 맞나요?

David님의 프로필 이미지

2023. 03. 25. 21:47

AppConfig는 IoC이다 라기보다는 아래 내용과 같이 제어가 역전되는 구조(AppConfig, AppConfig로 인해 구현체를 주입받는 클라이언트들 등을 포함)가 IoC라고 보시면 됩니다.

image