"우리는 왜 Dependency injection를 쓰나요?" 위 같은 질문은 대답하기 참 어려웠다. 면접 자리라면 그래도 말은 해야하니 아래와 같이 말하곤했다 "객체의 생성과 사용의 관심사를 분리하기 위함이죠. 또한 객체 생성의 책임을 IoC 컨테이너에게 전가함으로써 프레임워크 단에서 디자인 패턴을 만드는데에도 의의가 있습니다." 다시 보니까, 위 두 이유가 되게 비슷한 맥락이라서 거의 같은 말 같기도하다. 아무리 찾아봐도 당시 저 상황에서 공감이 잘 안됐고 그나마 저게 가장 공감됐던 DI를 사용하는 이유였다. 물론 위 근거도 충분히 이유가 될 수 있다. 근데, 오늘 Spring의 컴포넌트 스캔을 배우게 되면서 DI를 사용하는 또하나의 이유를 알게되어 정리하고자 한다. Spring의 Layered 아키..