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
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[자바] 싱글톤 패턴(singleton) (0) | 2023.11.14 |
---|---|
[자바] 다형성(polymorphism) (0) | 2023.11.13 |
[자바] 상속(inheritance) (0) | 2023.11.13 |
[자바] 값에 의한 호출과 객체에 의한 호출 : 전달받은 숫자를 1만큼 증가시키는 update메서드 (0) | 2023.11.13 |
[자바] 자바 클래스(class)의 이해 (0) | 2023.11.13 |