Di 2

[Spring] IoC, DI

*구선생님과 김영한님의 스프링 핵심원리 기본편을 바탕으로 이해한 내용을 정리한 것입니다! 틀린 내용이 있다면 언제든 댓글로 알려주시면 감사합니다!!!*IoC(Inversion of Control)란?Spring을 접하면 가장 먼저 접하는 단어라고 생각한다. 물론 처음 보는 사람은 절대로 한번에 이해하기 힘든 내용이기도 하다.(난 그랬다) 우선 직역을 하면 제어의 역전이라는 의미이다. 무엇에 대한 제어를 역전했다는 것인지 솔직히 와닿지는 않는다. 결론부터 말하자면 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 뒤바뀐 것을 의미한다. 그럼 IoC가 없다면?간단하다 제어의 역전의 반대라고 생각하면 된다! 객체의 생성, 생명주기 관리를 직접 관리하는 것이다.아래 코드가 그 예시이다./..

개발/spring boot 2024.04.24

[Spring]관심사의 분리

관심사의 분리란? 영한님의 설명에 의하면 쉽게 말하자면 자신이 맡은 역할과 책임에만 집중하며 객체를 생성하고 연결하는 역활과 실행하는 역할이 명확히 분리되어있는 것을 의미한다.. 애플리케이션을 공연이라 했을 때 인터페이스들을 배역이라고 가정하자. 이때 실제 배역에 맞는 배우를 선택하는 것을 누가할 것인가라고 봤을 때 각 배역을 맡은 배우들이 선택하는 것이 아니라 제 3자가 선택해주는 것이 맞다. 만약 로미오의 배역을 A라는 배우가 했을 때 줄리엣이라는 배역의 배우를 B 배우가 해야한다 라고 정해버리는 순간 A의 책임은 공연을 해야하는 책임에서 줄리엣의 배역까지 정해버리는 책임까지 가지게 된다. 다시 말해 OOP의 원칙 중 단일 책임의 원칙(SRP)을 위반하게 된다. 이를 위해 나온 것이 관심사의 분리이다..

개발/spring boot 2023.08.07