IoC(Inversion of Control, 제어의 역전) - 사전적 정의 : 제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 줄여서 IoC이라고 부른다. 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용한다. 위키백과 작업을 구현하는 방식과 작업 수행 자체를 분리한다. 모듈을 제작할 때, 모듈과 외부 프로그램의 결합에 대해 고민할 필요 없이 모듈의 목적에 집중할 수 있다. 다른 시스템이 어떻게 동작할지에 대해 고민할 필요 없이, 미리 정해진 협약대로만 동작하게 하면 된다. 모듈을 바꾸어도 다른 시스템에 부작용을 일으키지 않는다. - 쉽게 말하자면 이전에는 개발..