자바가 제공하는 다양한 연산자를 학습하세요.
다형성을 활용하기 위함
class Animal {
void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // 조상 타입(Animal)의 참조변수로 자손 인스턴스를 참조
Animal myCat = new Cat(); // 조상 타입(Animal)의 참조변수로 자손 인스턴스를 참조
myDog.sound(); // "Dog barks" 출력
myCat.sound(); // "Cat meows" 출력
}
}
같은 메서드를 호출하더라도 자손 클래스에서 overriding한 메서드가 실행되기 때문이다.