class Product {
int price;
int bonusPoint;
Product(int price) {
this.price = price;
bonusPoint = (int) (price/10.0);
}
}
class Tv extends Product {
Tv() {
super(100);
}
public String toString() {
return "TV";
}
}
class Computer extends Product{
Computer(){
super(200);
}
public String toString() {
return "Computer";
}
}
class Buyer {
int money = 1000;
int bonusPoint = 0;
void buy(Product p) {
if(money<p.price) {
System.out.println("잔액이 부족하여 물건을 살수 없습니다.");
return;
}
money -= p.price;
bonusPoint += p.bonusPoint;
System.out.println(p + "을/를 구입하셨습니다.");
}
}
class PolyArgumentTest{
public static void main(String[] args) {
Buyer b = new Buyer();
b.buy(new Tv());
b.buy(new Computer());
System.out.println("현재 남은 돈은 " + b.money + "만원입니다.");
System.out.println("현재 보너스 점수는" + b.bonusPoint + "점입니다.");
}
}
여기에서 왜 출력하면
TV을/를 구입하셨습니다.
Computer을/를 구입하셨습니다.
현재 남은 돈은 700만원입니다.
현재 보너스 점수는30점입니다.
이렇게 나오는거임?
합리적인 유추로는 public String toString() 이 메소드가 문자열 반환해주는 것 같은데
호출 한 적이 없음 ..
print 문에 클래스 박으면 어떻게 실행되는지 검색 ㄱ
자바를 처음 배우는 자린이라그런데 키워드좀 가르쳐주실 수 있나요 ?
https://www.google.com/search?q=%EC%9E%90%EB%B0%94+print%EB%AC%B8%EC%97%90+%ED%81%B4%EB%9E%98%EC%8A%A4&oq=%EC%9E%90%EB%B0%94+print%EB%AC%B8%EC%97%90+%ED%81%B4%EB%9E%98%EC%8A%A4&aqs=chrome..69i57j0l9.4413j0j7&sourceid=chrome&ie=UTF-8
이렇게 검색했더니 안나와서요 ㅜ
자바 toString 으로 검색
ㄳ합니다 !!