1. 서론 지난 포스팅에서는 인스턴스를 막기 위해 private 한 생성자를 사용하라는 내용에 대해 배웠습니다. 코드는 여기에서 보실 수 있습니다. 이번 포스팅에서는 자원을 직접 명시하는 것이 아닌, 의존 객체 주입을 사용하는 것에 대해 포스팅하겠습니다. 2. 본론 인스턴스를 생성할 때, 생성자에 필요한 자원을 넘겨주는 방식을 이용하면, 사용하는 자원에 따라 동작이 달라지는 클래스에 유동적으로 사용할 수 있다. 이 방법을 사용해서 클라이언트가 자신이 명시한 타입의 하위 타입이라면 무엇이든 생성할 수 있는 팩터리를 넘길 수 있다. 저번에 Fruit 클래스를 만든 것을 활용하여 간단한 예제를 구현해 보았다. package com.study; import java.util.Objects; class Fruit..