의존 관계(Dependency)

객체 지향 어플리케이션은 객체와 다른 객체의 상호작용을 중심으로 구축됨. 여기서 클래스의 의존 관계는 역할을 수행하기 위해 의존하는 다른 클래스를 의미.

public class BuisinessServiceImpl {
	public long calculateSum(User user) {
		DataServiceImpl dataService = new DataServiceImpl();
		long sum = 0;
		for (Data data : dataService.retrieveData(user)) {
			sum += data.getValue();
		}
		return sum;
	}
}

의존 관계를 갖는 이유

엔터프라이즈 어플리케이션에는 다양한 기능과 특성이 있음.

의존 관계 주입(Dependency Injection)

@Autowired 어노테이션을 통해 의존관계를 스프링이 자동으로 주입해 줌