package ch07.ex09;
public abstract class Animal {
protected String kind;
public void breathe() {
System.out.println("숨을 쉽니다.");
}
public void run() {
System.out.println("네발로 뜁니다.");
}
public abstract void sound();
}
package ch07.ex09;
public class Dog extends Animal{
public Dog() {
super.kind="포유류";
}
@Override
public void sound() {
System.out.println("머엉머엉~~");
}
}
package ch07.ex09;
public class Cat extends Animal{
public Cat() {
super.kind="포유류";
}
@Override
public void sound() {
System.out.println("야옹~~!");
}
@Override
public void run() {
System.out.println("네발로 빠르게 뜁니다.");
}
}
package ch07.ex09;
public class Ex {
public static void sub(Animal animal) {
animal.sound();
}
public static void main(String[] args) {
Animal dog=new Dog();
dog.breathe();
dog.sound();
dog.run();
System.out.println();
Animal cat=new Cat();
cat.breathe();
cat.sound();
cat.run();
System.out.println();
Dog dog2=new Dog();
dog2.breathe();
dog2.sound();
dog2.run();
System.out.println();
Cat cat2=new Cat();
cat2.breathe();
cat2.sound();
cat2.run();
System.out.println("-----UpCasting-----");
sub(cat);
sub(dog);
}
}
숨을 쉽니다.
머엉머엉~~
네발로 뜁니다.
숨을 쉽니다.
야옹~~!
네발로 빠르게 뜁니다.
숨을 쉽니다.
머엉머엉~~
네발로 뜁니다.
숨을 쉽니다.
야옹~~!
네발로 빠르게 뜁니다.
-----UpCasting-----
야옹~~!
머엉머엉~~