package ex05.ch02;
class Animal {
int i = 1;
String name = "동물";
}
class Cat extends Animal {
String name = "고양이";
int age = 20;
}
class Dog extends Animal {
String name = "강아지";
int age = 10;
}
public class ExVar01 {
public static void main(String[] args) {
Animal a1 = new Animal(); // [animal]
System.out.println(a1.i + "," + a1.name);
Dog a2 = new Dog(); // [animal, dog]
System.out.println(a2.i + "," + a2.name); // animal의 int i를 물려 받음.
Animal a3 = new Dog();
System.out.println(a3.i + "," + a3.name);
Cat a4 = new Cat();
System.out.println(a4.i + "," + a4.name);
Animal a5 = new Cat();
System.out.println(a5.i + "," + a5.name);
Animal a6 = new Cat();
System.out.println(a6.i + "," + a6.age); // 오류 부모가 자식의 멤버를 직접 접근할 수 없기 때문에.
}
}

Share article