class Product{
int price; // 제품 가격
int bonusPoint // 보너스 점수
}
class Tv extends Product{}
class Computer extends Product{}
class Audio extends Product{}
class Buyer {// 물건 사는 사람
int money = 1000; // 소유 금액
int bonusPoint = 0; // 보너스 점수
}
void buy(Tv t){
money -= t.price;
bonusPoint += t.bonusPoint;
}
✔ 해결방법은 위의 코드를 아래로 바꿔준다(매개변수의 타입을 조상타입으로 변경)
void buy(Product p){
money -= p.price;
bonusPoint += p.bonusPoint;
}
class buyer{ // 물건사는 사람
int money = 1000; // 소유 금액
int bonusPoint = 0; // 보너스 점수
Product[] cart = new Product[10]; // 구입한 물건을 담을 예정
int i = 0;
void buy (Product p){
if(money < p.price){
System.out.println("잔액 부족");
return;
}
money -= p.price;
bonusPoint += p.bonusPoint;
cart[i++] = p;
}
}