본문 바로가기

Spring공부

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

IoC(제어의 역전)와 DI(의존성 주입)는 소프트웨어 개발에서 객체 지향 프로그래밍과 관련된 개념으로, 코드의 유연성, 확장성, 유지보수성을 향상시키는 데 중요한 역할을 합니다.

  1. IoC(제어의 역전):
    • IoC는 제어의 흐름을 바꾸는 것을 의미합니다.
    • 기존에는 개발자가 코드의 제어 흐름을 직접 제어하는 방식이었는데, IoC에서는 그 제어가 프레임워크나 컨테이너로부터 역전되어 객체의 생명 주기와 의존성 관리 등이 자동으로 이루어집니다.
    • 이는 개발자가 작성한 코드가 실행 중에 프레임워크에 의해 제어되는 것을 의미하며, 주로 "제어의 역전(Inversion of Control)"이라고 불립니다.
  2. DI(의존성 주입):
    • DI는 객체 간의 의존성을 외부에서 주입하는 것을 의미합니다.
    • 객체가 필요로 하는 의존성(다른 객체 또는 서비스)을 직접 생성하는 대신, 외부에서 주입받아 사용하는 방식입니다.
    • 이로써 객체 간의 결합도를 낮추고, 유연성과 테스트 용이성을 증가시킵니다.
    • DI는 주로 인터페이스를 통해 이루어지며, 구체적인 의존 객체는 런타임에 주입됩니다.

 

객체 중복 생성 문제 해결

https://github.com/guncow0603/memo/commit/174d211cdbe0c8c5e92b011e9e4ba3645a7e3a8c

강한 결합을 느슨한 결합으로

https://github.com/guncow0603/memo/commit/7e00c142374f554ca10d7ea7d99432c15d7a5de5

Ioc Container와 Bean

https://github.com/guncow0603/memo/commit/529291d59f3bc2db8a7e49eba9736ab70c8b153f

'Spring공부' 카테고리의 다른 글

DTO의 필요성  (0) 2024.01.29
회원 가입 API  (0) 2023.12.20
3 Layer Architecture  (0) 2023.12.12
SQL  (0) 2023.12.12
Database  (0) 2023.12.12