개발공간/HW

❓Spring에서 DI, IoC란 무엇일까?

로지네 2023. 4. 4. 10:26
  • DI : Dependency Injection; 의존성 주입
  • IoC : Inversion of Control; 제어의 역전

이런 사전적인 정의 말고 간단하게 이해해 볼 수 있게 정리해 보기! 🔎

이 미션을 받고 든 생각은 딱 하나! 
사실 스프링은 이미 학습했지만, DI, IoC와 같은 용어는 정확히 어떤 뜻인지, 왜 사용하는지 모른 채로 그냥 대충 사용해왔던 것 같아 안타까웠다 😫 앞으로는 이 개념이 어떤 건지, 왜 사용하는지 내 것으로 만드는 학습법을 활용해야지!

 

⚠️DI

우선 DI, 의존성 주입이라고 불리기도 하고 

객체를 생성하고 조립하는 작업을 개발자가 하지 않고 Spring이 대신 처리한다.

그렇게 된다면? 객체 간의 의존성은 줄어들고 유연하게 확장이 가능하다는 뜻?!

 

⚠️IoC

IoC는 객체의 생성과 관리는 개발자가 아니라 Spring이 대신 수행하는 것을 의미!

사실 제어의 역전이라는 뜻은 아직 와닿지는 않는 것 같다.

 

🍀 오늘 미션에서 주어진 버전1과 버전2를 떠올려보자

 

버전1에서의 직접 객체를 생성하고 조립하는 것은 개발자에게 무지 귀찮은 일인 것 같다.

따라서 Spring에서 DI와 IoC를 사용해 개발자가 쉽게 관리할 수 있도록 도와주는 것 아닐까?

-> 결국 코드의 유지보수성을 위해 Spring을 사용하는 것이 좋다!

 

 

'개발공간 > HW' 카테고리의 다른 글

❓Entity & DTO & VO  (0) 2023.04.05
❓DDD 설계와 SQL 중심 설계  (0) 2023.04.05
🔎 지그재그(ZigZag)가 가진 기능 분석하기  (0) 2023.04.03
❓@Annotation 어노테이션  (0) 2023.03.29
❓@Override 오버라이딩  (0) 2023.03.29