반응형

di 2

DI (Dependency Injection) - 의존성 주입

DI (Dependency Injection) - 의존성 주입DI란?객체가 필요로 하는 의존성을 스프링 컨테이너가 주입하는 설계 패턴입니다.DI는 IoC의 구체적인 구현 방식 중 하나로, 객체 간의 의존성을 스프링 컨테이너가 자동으로 설정해줍니다.DI의 핵심객체 간의 의존성을 스프링 컨테이너(ApplicationContext)가 관리.객체를 필요로 하는 클래스는 의존성을 직접 생성하지 않고 외부에서 주입받음주입 방법: 생성자, 필드, Setter(메서드)를 통해 이루어짐DI의 장점결합도 감소클래스 간의 강한 의존성을 없애고 유연성을 높임객체가 내부의 의존성을 생성하지 않으므로, 다른 객체로 쉽게 교체 가능테스트 용이성DI를 통해 실제 객체 대신 Mock 객체를 주입하여 유닛 테스트를 쉽게 작성 가능재사용..

Kotlin 2024.12.20

스프링 IoC(Inversion of Contorl) - 제어의 역전

IoC(Inversion of Contorl) - 제어의 역전IoC란?객체의 생성 및 제어권을 개발자가 아닌 스프링 컨테이너가 관리하는 프로그래밍 원칙입니다.일반적으로 객체 생성과 의존성 관리는 개발자가 직접 수행하지만, IoC에서는 스프링이 이를 대신 관리합니다.IoC의 핵심전통적인 개발 방식에는 객체가 다른 객체를 직접 생성하고 호출합니다.이는 객체 간 강한 결합도를 만들어 유지보수와 확장에 어려움을 초래합니다.IoC는 이 제어권을 스프링 같은 프레임워크로 넘김으로써 객체 간 결합도를 낮추고 유연성을 제공합니다.전통적인 방식(제어권이 개발자에게 있음) class MyService { private val repository = MyRepository() // 직접 객체 생성 fun..

Kotlin 2024.12.20
반응형