15-2. (오버라이드) 동물 행동 시뮬레이터 (난이도2)_풀이

박은서's avatar
Dec 17, 2025
15-2. (오버라이드) 동물 행동 시뮬레이터 (난이도2)_풀이
package ex06.example; public class Animal { void sound(){ } void introduce(){ } void act(){ } } class Dog extends Animal { private String name; Dog(String name){ this.name = name; } void introduce(){ System.out.println("제 이름은 " + name + "입니다."); } void sound(){ System.out.println("멍멍!"); } void act(){ System.out.println("꼬리를 흔든다"); } } class Cat extends Animal { private String name; Cat(String name){ this.name = name; } void introduce(){ System.out.println("제 이름은 " + name + "입니다."); } void sound(){ System.out.println("야옹~"); } void act(){ System.out.println("할퀸다"); } } class Duck extends Animal { private String name; Duck(String name){ this.name = name; } void introduce(){ System.out.println("제 이름은 " + name + "입니다."); } void sound(){ System.out.println("꽥꽥!"); } void act(){ System.out.println("헤엄친다"); } }
package ex06.example; public class Zookeeper { void action(Animal a){ a.introduce(); a.sound(); a.act(); System.out.println(); } public static void main(String[] args) { Animal[] arr = new Animal[3]; arr[0] = new Dog("콩이"); arr[1] = new Cat("나비"); arr[2] = new Duck("덕돌이"); Zookeeper a1 = new Zookeeper(); for (int i = 0; i < arr.length; i++) { a1.action(arr[i]); } System.out.println(); for (Animal n : arr){ a1.action(n); } } }
notion image
Share article