IoC, DI는 객체지향의 SOLID 원칙 그리고 GoF 의 디자인 패턴과 같은 설계 원칙 및 디자인 패턴 강하게 결합되어 있는 Consumer 와 Chicken코드는 정상적으로 작동하겠지만, Consumer 가 chicken 이 아니라 pizza 가 먹고싶다면 코드 수정이 불가피함 약하게 결합되어있는 Consumer 와 Chicken, Pizzainterface 다형성의 원리를 사용해서 고객이 어떤 음식을 요구하더라도 쉽게 대처할 수 있음.그럼 여기에 어떻게 주입할까?1. 필드에 직접 주입2. 메서드를 통한 주입3. 생성자를 통한 주입 필드에 직접 주입Food를 Consumer에 포함 시키고 Food에 필요한 객체를 주입받아 사용 메서드를 통한 주입set 메서드를 사용하여 필요한 객체를 주입받아 사용 ..