IoC / DI IoC (Inversion of Control)Java 객체를 new 로 생성해 개발자가 관리하는 것이 아닌 Spring Container 에 모두 맡김 (싱글톤 형태로 관리됨)프레임워크로 제어의 객체 관리의 권한이 넘어감, '제어의 역전' 이라고 함 DI (Dependency Injection)장점의존성으로부터 격리시켜 테스트에 용이함DI 를 통해 불가능한 상황을 Mock 과 같은 기술을 통해 안정적인 테스트 가능코드를 확장하거나 변경 할 때 영향을 최소화함 (추상화)순환참조를 막을 수 있음 예제 - 자바 - 스프링 - IEncoder 는 같음 feat. 패스트캠퍼스 - Java/Spring 웹 개발 마스터 초격차