
‘DI 패턴을 사용하여 IoC 설계 원칙을 구현하고 있다’
IoC (Inversion of Control)
소프트웨어 개발에서 객체의 생성과 생명주기를 개발자가 직접 제어하지 않고, 프레임워크나 컨테이너가 이를 대신 관리하는 개념입니다. 일반적으로 개발자는 객체를 생성하고 관리하는 책임을 갖지만, 제어의 역전을 적용하면 객체의 생성과 관리를 프레임워크에 위임할 수 있습니다.
제어의 역전은 의존성 주입(Dependency Injection)과 밀접한 관련이 있습니다. 의존성 주입은 객체 간의 의존 관계를 외부에서 객체에 주입하는 것을 의미하는데, 이를 통해 객체 간의 결합도를 낮추고 유연한 코드를 작성할 수 있습니다.
DI (Dependency Injection)
의존성 주입은 객체 간의 의존 관계를 외부에서 주입하는 방식으로, 객체가 필요로 하는 의존성을 직접 생성하는 대신 외부에서 주입받아 사용하는 것을 말합니다. 이를 통해 객체 간의 결합도를 낮출 수 있으며, 유지보수가 용이한 코드를 작성할 수 있습니다.
의존성 주입은 주로 생성자 주입, 필드 주입, 메서드 주입의 세 가지 방식으로 이루어집니다. 생성자 주입은 객체를 생성할 때 의존성을 주입받는 방식이며, 필드 주입은 객체의 필드에 의존성을 주입하는 방식입니다. 마지막으로 메서드 주입은 특정 메서드를 호출하여 의존성을 주입받는 방식입니다.
IoC와 DI는 소프트웨어 개발에서 유지보수성과 테스트 용이성을 높여주는 중요한 개념입니다. 프레임워크나 컨테이너를 이용하여 제어의 역전과 의존성 주입을 적절히 활용하면, 유연하고 확장 가능한 소프트웨어를 개발할 수 있습니다.
'Spring' 카테고리의 다른 글
| Spring Day 7 : 영속성 콘텍스트 (0) | 2024.01.26 |
|---|---|
| Spring Day 6 : JPA (0) | 2024.01.25 |
| Spring Day 4 : 3 Layer Architecture (1) | 2024.01.23 |
| Spring Day 3 : MVC (0) | 2024.01.22 |
| Spring Day 2 : HTTP (0) | 2024.01.19 |