IOC(Inversion of Control)란? IOC란 "제어의 역전" 이라는 의미로, 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부(IOC 컨테이너)에서 결정되는 것을 의미한다. 즉, 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 유지보수를 편리하게 할 수 있게 한다. 스프링 컨테이너에서는 오브젝트(빈)의 생성과 의존 관계 설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 스프링 컨테이너가 담당한다. 스프링 컨테이너가 코드 대신 오브젝트에 대한 제어권을 갖고 있다고 해서 IoC라고 부른다. 스프링 컨테이너 = IOC 컨테이너 Repository 객체가 있을때 과거에는 아래와 같이 개발자가 직접 제어했다. 하지만 현재 제..