공부 노트

Spring Boot - IoC란? (제어의 역전) // 싱글톤 패턴 (공부하기)

미로910 2024. 8. 13. 16:34

IoC (Inversion Of Control) - 제어의 역전

- 객체(인스턴스)의 생명주기 관리를 개발자가 아닌 Spring Container (IoC Container) 가 모두 맡아서 함

 

기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결했다.

-> 제어 흐름을 스스로 조종했다

스프링 컨테이너를 사용하면 프로그램에 대한 제어 흐름에 대한 권한은 모두 스프링 컨테이너가 가지고 있다.

-> 외부에서 관리하는 것 => 제어의 역전(객체를 제어하고 관리하는 역할이 개발자로부터 스프링 컨테이너에 역전)

 

스프링 컨테이너란

ApplicationContext를 스프링 컨테이너라고 부른다.

@Bean 이라 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다.

장점: 싱글톤 패턴을 적용하지 않아도, 객체 인스턴스를 싱글톤으로 관리한다. => 싱글톤 레지스트리

 

-> Spring Container에 올라간 Bean 객체들을 모두 싱글톤 패턴으로 관리됨.

 

싱글톤 패턴이란?

싱글톤 패턴은 특정 클래스의 인스턴스를 1개만 생성되는 것을 보장하는 디자인 패턴이다.

즉, 생성자를 통해서 여러 번 호출이 되더라도 인스턴스를 새로 생성하지 않고 최초 호출 시에 만들어두었던 인스턴스를 재활용하는 패턴이다.

: 관리하는 게 쉽고, 메모리가 절약이 된다.

'공부 노트' 카테고리의 다른 글

추상화와 다형성  (1) 2024.09.26
스레드란? (스레드/멀티스레드)  (4) 2024.09.25
싱글톤 패턴이란?  (1) 2024.09.25
session 이란  (0) 2024.07.15
PreparedStatement란  (1) 2024.07.08