의존성 주입이란 객체가 자신이 의존할 객체를 스스로 만들도록 하는 것이 아니라 외부에서 주입해주는 것을 의미한다. 의존성 주입을 사용하는 이유로는, 어떠한 앱의 하나의 클래스를 수정 혹은 변경이 이뤄질 경우 연결된 다른 클래스들을 수정할 필요 없이 해당 앱의 설정클래스(Appconfigurer)만 변경하게끔 만들기 위해서이다. 즉, 코드의 수정과 변경에 용이하게 끔 만들기위해 의존성 주입을 사용한다. 예제) public class Main { // 맨밑의 메인클래스에서 Kiosk 인스턴스를 이용해 앱을 실행하면 //각각의 인스턴스들이 각자가 필요한 다른 인스턴스들을 직접생성한다. static class Kiosk{ ProductRepository productRepository = new ProductR..