Central Limit Theorem and Confidence Interval

이영진·2020년 12월 8일
0
post-thumbnail

DI 방법

Dependency Injection의 방법에는 일체형과 분리형으로 크게 두가지가 있다.


일체형

일체형으로 A 객체를 만들면, 그 안에 부품이 무엇인지도 모르고, 바꾸어 낄 수도 없다.

A a = new A();

분리형

분리형으로 만들면 부품이 무엇인지 알 수 있고, 바꾸어 낄 수 있다.
분리형으로 객체를 생성하는 두 가지 방법이 있다.

class A
{
    private B b;
    public A(){}

    public void setB(B b){
        this.b = b;
    }
  • Construction Injection
B b = new B(); // dependency
A a = new A(b); // injection

  • Setter Injection
B b = new B(); // dependency
A a = new A();

a.setB(b); // injection

Spring은 부품을 조립해주는 기능, 즉 dependency를 injection 해주는 기능을 제공한다.
어떤 부품들이 어떤 부품과 결합을 원하는지 설정만 해주면 스프링이 해준다. 우리는 조립된 결과물만 사용하면 된다.

컴퓨터를 조립하는 것에 비유한다.
1. 원하는 메인보드, VGA, memory, CPU 등에 대한 주문서를 작성한다.
※ 주문서는 XML과 Annotation을 이용해 작성한다.
2. 전문가가 제품들을 구입하고 적절한 곳에 조립을 해준다.
3. 어떤 박스에 담는다.

Spring은 주문서에 입력된 대로 객체들을 생성해서 이들을 담을 수 있는 박스가 필요한데, 이것이 IOC 컨테이너이다.

일체형인 경우, 가장 큰 객체가 먼저 생성되고 그 다음에 작은 객체들이 생성된다.
하지만 여기에서는 작은 객체들이 먼저 생성되고 이들이 주입될 큰 객체가 나중에 생성된다. 이것이 Inversion Of Control 이다.

profile
기록하자

0개의 댓글