IoC (Inversion of Control) : 제어의 역전, 설계원칙DI (Dependency Injection) : 의존성 주입, 디자인패턴 비슷한 기능을 하는 객체로 변경을 하는 경우!강하게 결합되어 있다면 의존하는 객체의 코드도 수정이 되어야 한다그러나 비슷한 기능을 하는 객체들을 Interface로 묶어준다면?-> Interface의 객체를 사용하여 새로 추가된 객체라도 코드 수정이 간단해진다 DI를 통한 IoC의존성 주입을 통한 제어의 역전 강한결합/* 강한 결합 */public class Consumer { void eat() { Chicken chicken = new Chicken(); chicken.eat(); } public static ..