본문 바로가기
프로그래밍언어/프로그래밍 지식(programming knowledge)

dependency(의존관계)

by 바코94 2022. 4. 17.

# 정의
> 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)
}


의존관계로 설정된 대상들이 변경되었을 때 의존하고 있던 코드를 수정해주어야 하는 가능성이 생기기 때문에 코드의 변경이 최소화 되도록 의존관계를 설정하고 관리해야한다.