• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    미해결

약한 결합일 때 질문이 있습니다.

19.08.03 16:55 작성 조회수 243

0

약한 결합일 때에는 같은 메모리 공간(static)을 바라보고 있는 구조 아닌지 궁금합니다. stack 공간에는 m1, m2에 참조값이 존재해서 같은 메모리 주소값을 가지고 있으니까 m1에서 바꾼 값이 m2에도 영향을 끼칠 것 같은데, 이 구조도 DI라 부르는 건가요?!

Member m1 = m2;

Spring에서의 의존성 주입라는게 A를 사용하는데, B에 대한 객체가 필요해서 의존성 주입을 시켜 A를 통해 B에 대한 메소드를 사용하는 것으로 알고 있는데, 위 예제는 엄청 단순화시켜서 표현하신건지 궁금합니다. 

 

 

 

 

 

답변 1

답변을 작성해보세요.

0

첫 번째 질문에 대한 답변입니다.

질문이 DI보다는 얕은 복사, 깊은 복사의 개념과 더 가까워 보입니다.

DI는 내가 만들어 쓰느냐, 만들어져 있는 것을 주입받아 쓰느냐의 문제라고 보시면 됩니다.

코드는 만들어져 있는 것을 주입받아 사용하고 있으니 DI가 맞습니다.

 

두 번째 질문에 대한 답변입니다.

Spring에서는 DI와 관련해서 IoC 라는 용어가 등장합니다.

사용해야 할 많은 객체들이 미리 만들어져 IoC 컨테이너에 관리되고 있다가

필요할 때마다 IoC컨테이너인 Spring에 의해 의존성 주입이 일어나게 되는 것입니다.

 

그러므로 "A를 사용하는데, B에 대한 객체가 필요해서 의존성 주입을 시켜

A를 통해 B에 대한 메소드를 사용하는 것"이 아니라

A를 사용하기 위해서는 IoC 컨테이너에서 A를 의존성 주입 받는 것이고

B를 사용하기 위해서는 IoC 컨테이너에서 B를 의존성 주입 받는 것입니다.

 

예제는 DI의 개념을 조금 단순화 시켜서 표현한 것입니다.