[Java] 12.2.1. 추상화 & 다형성 - 상속에서 변수 찾기

김주희's avatar
Feb 26, 2025
[Java] 12.2.1. 추상화 & 다형성 - 상속에서 변수 찾기
package ex05.ch02; class Animal { int i = 1; String name = "동물"; } class Cat extends Animal { int i = 2; String name = "고양이"; int age = 5; } class Dog extends Animal { int i = 3; 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(i = 1, name = 동물), dog(i = 2, name = 강아지)] System.out.println(a2.i + ", " + a2.name); // 물려받은 i (상속의 부수적 효과 -> 상속의 목적 = 타입 일치) Animal a3 = new Dog(); // [animal(i = 1, name = 동물), dog(i = 2, name = 강아지)] System.out.println(a3.i + ", " + a3.name); Cat a4 = new Cat(); // [animal(i = 1, name = 동물), cat(i = 2, name = 고양이, age = 5)] System.out.println(a4.i + ", " + a4.name + ", " + a4.age); Animal a5 = new Cat(); // [animal(i = 1, name = 동물), cat(i = 2, name = 고양이, age = 5)] System.out.println(a5.i + ", " + a5.name); // a5.age는 안됨 } }
notion image
Share article

jay0628