본문 바로가기
혼자서 개발새발

JAVA) 객체배열/참조변수 형변환/매개변수의 다형성 이용해 결과값을 만들어보자!

by 휴일이 2022. 10. 7.

객체배열/참조변수의 형변환/매개변수의 다형성 을 이용해 풀 것

 

--------조건-------
조상클래스 Product
자손 클래스 Tv / Computer / Audio
클래스 Buyer (고객)을 이용해
Tv, Computer, Audio를 구입하고,
물품의 총 금액과 어떤 제품을 샀는지 출력하세요


결과값 :
Tv 를 구입하셨습니다
Computer 를 구입하셨습니다
Audio 를 구입하셨습니다
구입하신 물품의 총 금액은 350만원 입니다
구입하신 제품은 Tv, Computer, Audio 입니다

 

 

 

Product 클래스

public class Product { //조상

    protected int price; //가격

    public Product() {}

    public void pay() {

    }


}

 

 

 

Tv,Computer,Audio 클래스

 

public class Audio extends Product{

    public Audio() {
        super.price = 100;
    }

    @Override
    public String toString() {
        return "오디오";
    }

}




public class Computer extends Product {

    public Computer() {
        super.price = 150;
    }

    @Override
    public String toString() {
        return "Computer";
    }

}





public class Tv extends Product{

    public Tv() {
        super.price=150;
    }

    @Override
    public String toString() {
        return "Tv";
    }
}

 

 

 

Buyer 클래스

 

 

public class Buyer {

    public Buyer() {
        super();
        won = 10000;
    }

    Product cart[] = new Product[10];
    private int won; //가진 돈
    private int sum; //쓴 돈 합계
    private int index; //객체 배열 돌리는 용

    public void buy (Product p) {

        cart[index] = p; //i의 초기값 0
        index++; //쓸 때마다 추가됨
        won-= p.price;
        sum += p.price;
        System.out.println(p+"를 구입했습니다");

    }

    public void all () { //구입 금액과 구입물품을 출력하는 클래스

        System.out.println("구입하신 물품의 총 금액은 "+sum+"입니다");
        System.out.print("구입하신 제품은 ");
        for(int i=0;i<index;i++) {
            System.out.print(cart[i]+", ");
        }
        System.out.println("입니다!");


    }


}

 

 

 

 

메인 클래스

 

public class emartMain {
    public static void main(String[] args) {

        Buyer b = new Buyer();

        b.buy(new Tv());
        b.buy(new Tv());
        b.buy(new Computer());
        b.buy(new Audio());
        b.all();

    }
}

 

결과값

 

 

꿀팁

for(int i=0;i<3;i++) {

String a += "좋아해 !!"

}

a를 출력하면 결과값은?

 

좋아해 !!좋아해 !! 좋아해 !!

 

a += "좋아해!!" 를 풀어쓰면

a = a+"좋아해!!" 와 같은 뜻

 

 

String i = "좋아해";

System.out.println(i+=i); //좋아해좋아해
System.out.println(i+=i); //좋아해좋아해좋아해좋아해
System.out.println(i+=i); //좋아해좋아해좋아해좋아해좋아해좋아해좋아해좋아해

728x90