Spring 입문 2주 차 과정 중 의문점 해결 기록
public class Consumer {
void eat(Food food) {
food.eat();
}
public static void main(String[] args) {
Consumer consumer = new Consumer();
consumer.eat(new Chicken());
consumer.eat(new Pizza());
}
}
interface Food {
void eat();
}
class Chicken implements Food{
@Override
public void eat() {
System.out.println("치킨을 먹는다.");
}
}
class Pizza implements Food{
@Override
public void eat() {
System.out.println("피자를 먹는다.");
}
}
어떤 문제가 있었는지
Food food 와 consumer.eat(new Chicken()) 부분에 new Chiken이 들어가는 게 이해가 가질 않았다.
새롭게 알게 된 점
Food
를 implements 하고 있는 클래스들을 모두 매개변수로 사용할 수 있다.