Spring

IoC, DI

깊게 생각하고 최선을 다하자 2022. 6. 18. 02:08

Q1. IoC란 무엇인가?

- Inversion Of Control의 줄임말로, 우리말로 하면 제어의 역전입니다. 

  일반적으로 개발자가 코드를 작성하면 코드의 제어권은 개발자에게 있습니다.

  제어의 역전이란 코드의 제어권이 개발자가 아닌 프레임워크(ex) 스프링 프레임워크)에게

  넘어가는 것을 의미합니다. 

 

Q2. 프레임워크와 라이브러리의 차이점은 무엇인가?

- 프레임워크는 제어권을 갖고 있는 것(ex) 스프링 프레임워크)을 의미하고,

  라이브러리는 제어권과 무관하게 필요한 파일을 가져다 쓸 수 있는 것을 의미합니다. 

 

Q3. DI란 무엇인가?

- Dependency Injection의 줄임말입니다. 우리말로 번역하면 의존관계 주입이고,  

  하나의 클래스에서 다른 클래스의 객체를 사용할 수 있도록 주입해주는 것을 의미합니다. 

  의존관계 주입의 방식에는 생성자 주입, setter 주입, 필드 주입 등이 있습니다. 

 

Q4. AppConfig와 같이 객체를 생성하고 의존관계를 연결하고 관리해주는 것을 

      무엇이라고 하는가?

- 스프링 컨테이너라고 합니다. 

 

 

Q5. AppConfig 클래스를 스프링 기반 컨테이너로 전환하기 위해서는 

       클래스 위에 어떤 어노테이션을 추가해야 하는가?

- @Configuration을 추가해야 합니다. 

 

 

Q6. AppConfig 클래스의 메소드들을 스프링 컨테이너가 관리하기 위해서는

      메소드 위에 어떤 어노테이션을 추가해야 하는가?

- @Bean을 추가해야 합니다. 

 

 

 

참고

Q1,Q3 스프링 핵심 원리 6/18 

Q2,Q4~Q6 스프링 핵심 원리 6/21 

A1~A6 스프링 핵심 원리 6/22