package ex05.ch02;
class Animal {
int i = 1;
String name = "동물";
}
class Cat extends Animal {
String name = "고양이";
int age = 18;
}
class Dog extends Animal {
String name = "강아지";
}
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 a3 = new Dog(); // [animal(i=1, name=동물), dog(name = 강아지)]
System.out.println(a3.i + ", " + a3.name);
Cat a4 = new Cat(); // [animal(i=1,name=동물), Cat(k=2, name = 고양이)]
System.out.println(a4.i + ", " + a4.name);
Animal a5 = new Cat(); // [animal(i=1,name=동물), Cat(k=2, name = 고양이)]
System.out.println(a5.i + ", " + a5.name);
// System.out.println("Animal을 바라보는데 자식의 k값 찾아지나 : k=" + a5.k);
}
}

Share article