[Spring] DI, IoC

JOYGARDEN·2023년 10월 3일
1

Spring

목록 보기
1/1

DI(Dependency Injection)❓
Dependency Injection의 약자로 의존성 주입이라고 함

DI(의존성 주입)이란 필요한(의존하는) 객체를 직접 생성하지 않고 외부에서 주입하는 방식을 뜻함.
즉, 필요한 객체를 외부에서 주입하는 것이라고 이해하면 된다.

DI 방식은 프로그램의 유연성을 확보하고 객체 간의 결합도를 낮출 수 있게 해준다.

IoC(Inversion of Control)
Inversion of Control의 약자로 제어의 역전이라고 함
프로그램의 제어권을 개발자가 컨트롤하는 것이 아니라 외부에서 컨트롤하는 방식

제어의 주체가 개발자에서 스프링으로 바뀐 것이라고 이해하면 된다.
IoC 방식은 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 한다.

IoC 컨테이너의 객체를 스프링에서는 빈(Bean)이라고 한다.
스프링은 Ioc 컨테이너에서 프로그램에 필요한 객체를 싱글턴 형태로 만든다.
즉 loC 컨테이너의 빈은 한 번 쓰고 버려지는 것이 아니라 계속해서 재사용된다.

 

  • 싱글턴 패턴❓
    소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다.
profile
Whatever We Want 💻

0개의 댓글