[자바 상속] 53. 추상화&다형성 (상속에서 변수 찾기)

김건우's avatar
Feb 13, 2025
[자바 상속] 53. 추상화&다형성 (상속에서 변수 찾기)
💡
추상화 : 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 기법
ex) 침대, 의자 → 가구 / 강아지, 고양이 → 동물
다형성 : 동일한 이름의 동작이라도 하여도 객체의 실제 타입에 따라서 동작의 내용이 달라질 수 있다
ex) 강아지 → 강아지, 동물 / 침대 → 침대, 가구
package ex05.ch02; class Animal { int i = 1; String name = "동물"; } class Dog extends Animal { String name = "강아지"; int age = 20; } class Cat 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 + ", " + a2.age); System.out.println(a2.age); Animal a3 = new Dog(); // [animal, dog] System.out.println(a3.i + ", " + a3.name); // System.out.println(a3.age); 자식에서 부모를 바라보니까 age의 값이 찾아지지 않음. Cat a4 = new Cat(); // [animal, dog] System.out.println(a4.i + ", " + a4.name); Animal a5 = new Dog(); // [animal, dog] System.out.println(a5.i + ", " + a5.name); } }
Dog에는 i의 값이 없지만 부모의 클래스(Animal)에서 값을 상속 받아온다.
notion image
 
Share article

gunwoo