IoC(Inversion of Control)

Moon·2023년 4월 29일
0

스프링

목록 보기
2/3
post-thumbnail
post-custom-banner

IoC제어의 역전이라는 것인데, 제어가 역전 됐다는 의미입니다. 어떤 뜻인지 이해 못할 수도 있는데 스프링에게 주도권을 빼앗겼다! 라는 뜻도 됩니다.

스프링을 사용하기 전에 개발자가 프로그램의 흐름을 제어하는 주체가 됐지만 스프링에서는 프로그램의 흐름을 프레임워크가 주도하게 됩니다. 객체의 생성부터 삭제까지의 생명주기 관리를 컨테이너가 맡아서 하게 된 것입니다.

스프링 IoC 컨테이너가 관리하는 객체들을 Bean 이라고 부릅니다. 스프링은 이러한 Bean들의 의존성을 관리하고, 객체를 만들어 주며, Bean으로 등록을 해 주고, 이렇게 만들어진 것들을 관리합니다.

🔎 IoC 컨테이너?? DI 컨테이너??
객체를 생성하고 관리하면서 의존관계를 연결해 주는 것을 IoC 컨테이너 또는 DI 컨테이너라고 합니다.
의존관계 주입에 초점을 맞춰 최근에는 주로 DI 컨테이너라고 하며, 어셈블러, 오브젝트 팩토리 등으로 불리기도 합니다.

💡 프레임워크 vs 라이브러리

  • 프레임워크가 내가 작성한 코드를 제어하고, 대신 실행하면 그것은 프레임워크가 맞습니다.

  • 하지만 내가 작성한 코드가 직접 제어의 흐름을 담당한다면 그것은 프레임워크가 아니라 라이브러리입니다.

이상으로 IoC에 대해서 간단하게 알아봤습니다.

profile
꾸준함으로 성장하는 개발자 지망생
post-custom-banner

0개의 댓글