728x90
책을 읽어봤지만, IOC에 대해 바로 이해할 수는 없어서 자료들을 많이 찾아보고 해당 자료대로 작성해보려 한다.
기존에는 개발자가 작성한대로 제어의 흐름이 진행되었다.
이것을 프렘워크가 담당하도록 하는 것을 제어의 역전이라고 한다고 한다.
이해가 어려우니 코드로 보도록 하자.
만약, UserService를 작성하고 UserServiceImpl로 구현을 해서 개발한다면, 이런 방식으로 UserService를 호출하게 될 것이다.
// 개발자가 직접 객체를 생성하는 방식 (IOC 아님)
UserService userService = new UserServiceImpl();
이것에 IOC를 적용한다면 다음과 같다.
// IOC 방식 (스프링이 객체를 대신 생성해주고 주입해줌)
@Autowired
private UserService userService;
UserService를 사용은 하지만, 어떤 객체로 사용하는지는 모르고 스프링이 제어해준대로 사용하게 된다.
이렇게 생성이나 호출 제어는 프레임워크에게 맡기는 방법을 제어의 역전이라고 한다.
스프링에서 굉장히 자주 사용하며, 결합도를 낮춰 확장성과 유지보수에 도움을 준다고 한다.
'Spring > 토비의 스프링' 카테고리의 다른 글
[토비의 스프링] 1.6 싱글톤 레지스트리와 오브젝트 스코프 (1) | 2025.05.14 |
---|---|
[토비의 스프링] 1.5 스프링의 IoC (0) | 2025.05.13 |
[토비의 스프링] 1.3 Dao의 확장 (0) | 2025.05.07 |
[토비의 스프링] 1.2 Dao의 분리 (0) | 2025.05.07 |
[토비의 스프링] 1.1 초난감 DAO (1) | 2025.05.06 |