의존성

이주원·2025년 1월 2일

의존성이란?

A라는 객체가 실행되기위해서는 꼭 B라는 객체가 필요한 상황이라면 A는 B라는 객체에 의존하고 있다고 볼 수 있습니다. 이것이 바로 의존성입니다.

그러면 왜 의존성을 사용하느냐 바로 기능별로 객체혹은모듈을 나누기 위해서 입니다.

도대체 기능별로 객체를 나누는데 의존성이 왜필요할까라는 생각을 할 수 있는데 당연히 한뭉태기로 있던 시스템을 기능별로 쪼개면 발생하는 자연스러운 일입니다. 예를들어서 AB라는 공장이있습니다. 이공장을 기능별로 A 기능 B 기능 쪼갠것이죠 그럼 A기능은 B기능을 의존하게 됩니다.

예시코드

plugins {
id "org.springframework.boot.starter"
}

description = "Starter for using Cassandra distributed database and Spring Data Cassandra"

dependencies {
api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter"))
api("org.springframework:spring-tx")
api("org.springframework.data:spring-data-cassandra")
}

스프링부트의 빌드.gradle 입니다. plugins{} 는 스프링 부트의 내부모듈에대한 의존성을 추가한 것이고dependencies{}에 써있는내용은 외부 모듈인 카산드라에대한 의존성을 추가한 것 입니다. 이로써 이 프로젝트에서는 스프링부트와 카산드라에대한 의존성이 추가되었습니다. 즉 A(스프링부트 라이브러리)기능 B(카산드라 라이브러리)기능을 사용할 수 있게된 것입니다.

이런식으로 의존성을 추가하면 어떤 장점이 있냐면 개발자 입장에서는 개발하고자하는 부분에만 집중을할 수있습니다. 왜냐하면 기본적인 기능들은 의존성을 추가하면 사용할 수 있기 때문입니다.

profile
뭐가될지 모름

0개의 댓글