미소를뿌리는감자의 코딩

DI & IoC 본문

강의수강/[Spring]

DI & IoC

미뿌감 2024. 4. 11. 16:11
728x90

https://potatoscatteringsmile.tistory.com/182

 

[Spring] Entity & JPA & ORM와 IoC & DI

파일을 구성할 때, controller, service, repository로 구분하여 만든다. 이를 통해서, 역할을 구분하여 폴더를 만들어, 수정에 용이하게 하기 위함이다. - controller : 신호를 주고 받는 역할 - service : main 흐

potatoscatteringsmile.tistory.com

 

해당 글에다가도 DI와 IOC에 대해서 적어두었지만, 몇 줄로 요약해서 작성해보고자 다시 글을 적게 되었다.

 

IoC에 대해 먼저 이야기 해보도록 하겠습니다.

IoC는 inversion of control을 의미하여, 말 그대로 제어의 역전을 의미합니다.

이는 프로그램의 흐름을 개발자가 제어하는 것이 아닌 외부에서 관리하는 것을 의미합니다.

Spring 에서는 @Bean, @Service와 같은 annotation으로 사용자가 아닌 외부 시스템 ( spring에서는 spring boot라고 할 수 있는 )에서 이를 관리하도록 위임할 수 있습니다.

이를 통해서 개발자는 애플리케이션의 구체적인 흐름보다는 개별 컴포넌트 구현에 더 집중할 수 있습니다.

 

DI는 dependancy injection으로 객체가 필요로 하는 의존성을 외부에서 주입받는 것을 의미합니다. 즉, IOC에 의해 외부로 제어가 넘어간 것에 대해서 DI를 통해서 의존성을 주입받을 수 있는 것입니다. 즉, IoC를 구현하는 기술적인 방법 중 하나라고 할 수 있습니다.

 

의존성을 외부로부터 주입함으로써 객체 간의 결합도를 낮추고, 유연성과 테스트 용이성을 향상시킬 수 있습니다.

 

결합도를 낮춤으로 인해, 확장성이 높아지며 유지보수가 쉬워진다는 장점이 있습니다.

728x90

'강의수강 > [Spring]' 카테고리의 다른 글

Class vs. Instance  (0) 2024.04.11
JPA의 필요성  (0) 2024.04.11
[Spring] 프로젝트 CI/CD 흐름 파악  (1) 2024.04.03
[Spring] 도커를 이용한 배포  (0) 2024.04.03
[Spring] S3 이용 - 이미지 등록, 조회 하기  (1) 2024.03.22