1. 많은 함수들을 쓰다보면 서로간에 의존성이 생긴다. ( 하나가 바뀌면 다른것도 바뀌어버리는 )
2. 그런데 바뀌지않고 독립적으로 실행해야할 때도 있다.
3. 독립성을 보장하는 방법이 Dependency injection(의존성 주입)이다.
근데 말이 좀 이상하다.
독립성을 주는 건데 '의존성'을 주입한다니.
멍청한 블로거들이 이해하지 않고 그대로 쓴다고해도 나만큼은 용어를 제대로 이해해야하므로 글을 쓴다.
A가 마스터이고, B가 노예일 때,
노예는 마스터에게 의존한다.
그럴 때 노예를 Dependant 한 속성을 가졌다고 하고
마스터는 Dependency 한 속성을 가졌다고 말한다.
Dependency는 'supported' 하다. '종속성'이 아닌 '종속물'이다. 그러니까 다른 많은 것들이 이 대상을 향해 기대고 있다고 이해해야한다.
필수적이도록 하는 것이 dependency를 주는 것이다.
cy를 붙이면 명사형이 되므로, '의존성'으로 번역하는거야!! 와 같이 경선식으로 영어배운 놈들에게 빅 엿을 날린다.
이걸 의존성 주입이나 종속성 주입이라고 말도안되는 역번역을 그대로 사용하고 있다는게 웃겨서 말이 안나온다.
다시표현해보면 [의존성을 주입한다]라는 말은 [다른 많은 것들이 이 대상에게 의존하도록하는 성질(의존성)을 주입한다] 라고 이해하면 될듯싶다.
DB와 세션을 연결하거나, 보안이나 인증문제를 다룰 때 서로 충돌이 나지 않도록 꼭 필요한 기능으로 보인다.
'소프트웨어 > 언어 일반' 카테고리의 다른 글
[프로그래밍 일반] 수학과 시 (0) | 2022.07.16 |
---|---|
[언어 일반] 프로그래밍은 겸손을 만든다 (0) | 2022.07.12 |
[언어 일반] 모델이란 뭘까 (0) | 2022.07.07 |
[언어 일반] 수학을 하지 않기 위해 태어난 프로그래밍 (0) | 2022.07.01 |
[프로그래밍] Literal 이해해보기 (0) | 2022.04.07 |