inversion of control
제어 반전(Inversion of Control, IoC)은 SOLID 원칙 중 하나인 의존성 역전 원칙(Dependency Inversion Principle, DIP)을 구현하는 핵심 개념이다. 제어 반전에서는 객체 생성과 실행 흐름을 제어하는 주체가 개발자가 아니라 프레임워크나 외부 컨테이너로 넘어가게 된다. 즉, 원래는 개발자가 직접 객체를 만들고 메서드를 호출했지만, 제어 반전을 적용하면 이 제어권이 역전되어 개발자가 아닌 다른 주체(라이브러리, 이벤트 루프, 프레임워크 등)가 객체를 관리하고 필요한 시점에 실행하게 된다. 이를 통해 코드의 결합도를 낮추고 확장성과 테스트 용이성을 높일 수 있다.제어 반전을 달성하기 위해 네 가지 방법이 주로 사용된다. 첫 번째는 의존성 주입(Dependency..