[자바 상속] 54. 추상화&다형성 (상속에서 메서드 찾기)

김건우's avatar
Feb 13, 2025
[자바 상속] 54. 추상화&다형성 (상속에서 메서드 찾기)
💡
추상화 : 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 기법
ex) 침대, 의자 → 가구 / 강아지, 고양이 → 동물
다형성 : 동일한 이름의 동작이라도 하여도 객체의 실제 타입에 따라서 동작의 내용이 달라질 수 있다
ex) 강아지 → 강아지, 동물 / 침대 → 침대, 가구
package ex05.ch02; class 운동선수 { public int getHp() { return 2; } // setter 상태를 변경 하는거 public void setHp(int hp) { } } class 타이슨 extends 운동선수 { int hp = 100; public int getHp() { return hp; } public void setHp(int hp) { this.hp = hp; } } class 맥그리거 extends 운동선수 { int hp = 100; public int getHp() { return hp; } public void setHp(int hp) { this.hp = hp; } } public class ExMeh02 { static void attack(맥그리거 u1) { u1.hp = u1.hp - 10; } static void attack(타이슨 u1) { u1.hp = u1.hp - 10; } static void attack(운동선수 u1) { u1.setHp(u1.getHp() - 10); } public static void main(String[] args) { // 맥그리거 u1 = new 맥그리거(); // attack(u1); // System.out.println(u1.hp); // // 타이슨 u2 = new 타이슨(); // attack(u2); // System.out.println(u1.hp); 운동선수 u3 = new 타이슨(); attack(u3); attack(u3); attack(u3); System.out.println(u3.getHp()); } }
notion image
Share article

gunwoo