흐름 java로만 이용해서 스프링의 container가 작동하는 원리를 보여준다. 이후 실제 SpringContainer의 작동방식을 보여준다. 1. 문제점 DIP, OCP 위반 DIP : 인터페이스에만 의존해야하는데 구현체에도 의존을 했었다. OCP : 기능을 확장하게 되면 clientCode에 영향을 준다. 2. 관심사의 분리 역할과 실제배역은 분리되어야 한다. 역할 = 인터페이스, 실제배역 = 구현체 이를 확실히 구분해주기 위해선 역할에 맞는 구현체를 선정해주는 설정(=기획자)이 필요 예시 연극에서 로미오 역할을 하는 디카프리오가 줄리엣 역할을 하는 여주인공을 직접 선정하는 것과 같다. - 여주인공 선정하는 기획자 필요 memberService의 역할을 하는 memberServiceImpl 가 me..