# 정의
> wekipedia
Dependency (computer science) or coupling, a state in which one object uses a function of another object
> 해석
A가 B에 의존관계를 가진다고 해보자. A가 B에 의존한다는 것은 A가 있기 위해서는 B가 있어야만 된다는 뜻이다. 즉, A를 이해하기 위해서는 B를 알아야한다는 것을 의미한다.
클래스 A를 만드는 과정에서 B라는 클래스에 의존하게 될 경우 클래스 A를 이해하기 위해선 클래스 B를 살펴보게 된다.
쉽게 생각해 어떤 모듈을 작성할 때 사용하는 모든 것들이 그 모듈의 의존관계가 되는 것이다.
간단한 print라는 함수 하나를 보면 이 print 함수에서는 setnry/logger 와 print/toast 라는 것에 의존하게 된다. 따라서 sentry/logger의 logger가 변경과 print/toast의 변경이 발생하면 print 함수를 수정해야될 가능성이 생긴다.
import logger from 'sentry/logger'
import toast from 'print/toast'
function print(message) {
logger(message)
toast(message)
}
의존관계로 설정된 대상들이 변경되었을 때 의존하고 있던 코드를 수정해주어야 하는 가능성이 생기기 때문에 코드의 변경이 최소화 되도록 의존관계를 설정하고 관리해야한다.
'프로그래밍언어 > 프로그래밍 지식(programming knowledge)' 카테고리의 다른 글
value object(값 객체) (0) | 2022.04.17 |
---|---|
abstraction level(추상화 수준) (0) | 2022.04.17 |
abstraction(추상화) (0) | 2022.04.17 |
separation of concerns(관심사 분리) (0) | 2022.04.17 |
single responsibility principle(단일 책임 원칙) (0) | 2022.04.17 |