즐거운프로그래밍

[자바] 인터페이스(interface)

수수께끼 고양이 2023. 11. 13. 18:05
728x90
반응형

 

인터페이스(interface) : implements를 사용하여 구현한다.

interface AnimalFeed {
    void feed(); // 2. 매개로 쓰겠다
}
class Tiger implements AnimalFeed {
    public void feed() { // 3. overriding
        System.out.println("feed apple");
    }
}
class Lion implements AnimalFeed {
    public void feed() {
        System.out.println("feed banana");
    }
}
class Crocodile implements AnimalFeed {
    public void feed() {
        System.out.println("feed strawberry");
    }
}
class Leopard implements AnimalFeed {
    public void feed() {
        System.out.println("feed orange");
    }
}
class Monkey implements AnimalFeed {
    public void feed() {
        System.out.println("feed candy");
    }
}
class ZooKeeper {
    void feed(AnimalFeed animal) { // 메서드 오버로딩
        animal.feed();
    }
}
public class Main {
    public static void main(String[] args) {
        ZooKeeper zooKeeper = new ZooKeeper();
        Tiger tiger = new Tiger();
        Lion lion = new Lion();
        zooKeeper.feed(tiger);
        zooKeeper.feed(lion);
        Crocodile crocodile = new Crocodile();
        Leopard leopard = new Leopard();
        zooKeeper.feed(crocodile);
        zooKeeper.feed(leopard);
        Monkey monkey = new Monkey();
        zooKeeper.feed(monkey);
    }
}

 

 

 

 

 

728x90
반응형