DI

1. IoC(Inversion of Control)이란? Inversion Of Control을 그대로 번역해 보면 제어의 역전이다. 기존 자바 프로그램에서는 각 객체들이 프로그램의 흐름을 결정하고 필요한 객체를 직접 new ~ 해서 객체를 생성하고 사용했다. 즉 모든 작업을 프로그래머가 제어하며 추상 객체가 아닌 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 다르게 말하면 의존성이 높은 코드를 만드는 것이다. 하지만 프로그램의 제어 흐름에 대한 권한을 직접 제어하는, 즉 의존성이 높은 코드는 코드의 유지 보수를 어렵게 하고 재사용을 방해한다. 그렇기 때문에 객체에 대한 제어권을 객체가 직접 가지고 있는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC)라고 한다. 프로그램은 내가 어떤 유형..
1-1 의존성이란? 의존성이란 흔히 A가 B를 의존하는 것을 말한다. 즉 클래스 A가 클래스 B의 메서드를 호출하거나 클래스 B의 객체를 생성하여 사용하는 경우 A는 B에 의존성을 가지고있다 라고 한다. 2. 의존성 주입(DEpendency Injection)이란? DI(Dependency Injection)란 의존성 주입, 의존 관계 주입 이라고 불리며, 객체 내부에서 직접 호출하는 대신, 외부(스프링 컨테이너)에서 객체를 생성해서 넣어주는 방식이다. 의존성 주입을 함으로써 객체 간 유연성이 높아지 결합도를 낮출 수 있다. 코드로 한번 살펴보자 아래의 코드는 Cafe클래스와 Americano클래스의 의존성이 높은 코드이다. 의존성이 높은 이유는 1. 객체 생성의 책임 > Americano객체의 내부 구..
보글보글소다
'DI' 태그의 글 목록