Contents
오버라이드(무효로 하다) 기술
package ex05.ch02;
class 운동선수 {
//getter (상태확인)
public int getHp() {
return 1;
}
//setter (상태변경)
public void setHp(int hp) {
}
}
class 타이슨 extends 운동선수 {
int hp = 100;
//재정의
public int getHp() {
return hp;
}
//contaxt(문맥)
public void setHp(int hp) {
this.hp = hp;
}
}
class 맥그리너 extends 운동선수 {
int hp = 50;
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(u2.hp);
운동선수 u3 = new 타이슨(); //[운동선수, 타이슨]
attack(u3);
attack(u3);
System.out.println(u3.getHp());
}
}

Share article