IoC(제어의 역전)

kan의 개발 블로그·2023년 1월 3일
0

Spring 세계

목록 보기
6/10

제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다.

IoC(Inversion of Control)

프레임워크(Container)가 제어의 역할을 나누어 가져가면서 의존관계의 방향이 달라지게 되는 것을 (Inversion of Control)제어가 역전되었다고 말한다.

즉, 메소드나 객체의 호출작업을 개발자가 아닌 Ioc Container에서 관리한다.

IoC Container

IoC 를 구현하는 프레임워크(Container)로
객체를 관리하고, 객체의 생성을 책임지며, 의존성을 관리하는 컨테이너입니다.

IoC의 목적

  • 작업 구현 방식과 작업 수행 자체를 분리
  • 모듈을 제작할 때, 모듈과 외부 프로그램의 결합에 대해 고민하지 않고 모듈의 목적에 집중할 수 있다.
  • 다른 시스템의 동작에 대한 고민 없이, 미리 정해진 협약대로 동작하게 하면 된다.
  • 모듈을 바꿔도 다른 시스템에 부작용을 일으키지 않는다.

참고 사이트

https://velog.io/@gillog/Spring-DIDependency-Injection
https://medium.com/@jang.wangsu/di-inversion-of-control-container-%EB%9E%80-12ecd70ac7ea
https://ko.wikipedia.org/wiki/%EC%A0%9C%EC%96%B4_%EB%B0%98%EC%A0%84

profile
개발을 하며 쌓이는 지식과 경험을 정리하고 있습니다.

0개의 댓글