개발동
[예제] 여러 종류의 객체를 배열로 다루기 본문
class Product{
int price;
Product(int price){
this.price = price;
}
}
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 Audio extends Product{
Audio(){
super(50);
}
public String toString() {
return "Audio";
}
}
class Buyer{
int money = 600;
static int k=0;
Product [] item = new Product[10];
void buy(Product p) {
System.out.printf("%s를 구입하셨습니다.\n", p.toString());
money-=p.price;
item[k++]=p;
}
void Summary(){
int sum=0;
String SummaryTxt="";
for(int i=0; i<item.length; i++)
{
if(item[i]==null) break;
SummaryTxt+= (i==0 ? item[i].toString() : (", "+item[i].toString()));
sum+=item[i].price;
}
System.out.printf("구입하신 물품의 총금액은 %d만원입니다.\n", sum);
System.out.printf("구입하신 제품은 %s 입니다.\n", SummaryTxt);
}
}
public class PolyArgumentTest2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Buyer b = new Buyer();
b.buy(new Tv());
b.buy(new Computer());
b.buy(new Audio());
b.Summary();
}
}
Tv를 구입하셨습니다.
Computer를 구입하셨습니다.
Audio를 구입하셨습니다.
구입하신 물품의 총금액은 350만원입니다.
구입하신 제품은 Tv, Computer, Audio 입니다.
'Programming > Java' 카테고리의 다른 글
java, class, bc 파일 (0) | 2022.06.28 |
---|---|
참조변수와 인스턴스의 연결 (0) | 2021.09.26 |
상속 (0) | 2021.09.26 |
Calendar 클래스 (0) | 2021.09.23 |
난수 생성 (0) | 2021.09.23 |