[Java] 51. 상속에서 변수 찾기

백하림's avatar
Feb 13, 2025
[Java] 51. 상속에서 변수 찾기

핵심 요약

  1. Java는 참조 변수의 타입을 기준으로 멤버(변수, 메서드)를 확인합니다.
  1. 부모 타입(Animal)으로 선언된 참조 변수는 자식 클래스(Cat, Dog)의 추가 멤버에 직접 접근할 수 없습니다.
  1. 자식 클래스의 멤버를 사용하려면 형 변환(Casting)을 해야 합니다.
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); // 오류 부모가 자식의 멤버를 직접 접근할 수 없기 때문에. } }
notion image
Share article

harimmon