JAVA/예제

[JAVA] ch07-18. 객체 지향 18

밍글링글링 2017. 8. 22.
728x90

 

public class Ex18 {
    public static void main(String[] args){
        Yoker yoker = new Yoker();
        Tablet tablet = new Tablet();
        PC pc = new PC();
        Audio audio = new Audio();
        
        yoker.buy(tablet);
        yoker.buy(pc);
        yoker.buy(audio);
        
        yoker.summary();
    }
}

class Audio extends Product{ 
    Audio(){
        super(50);
    }
    public String toString(){
        return "Audio";
    }
}

class Yoker{
    int money = 1000;
    int bonus = 0;
    Product[] item = new Product[10]; //상품 타입
    int i =0; // 인덱스 번호
    
    void buy(Product product){
        money -= product.price;
        bonus += product.bonus;
        item[i++] = product; //보관한다.
        System.out.println(product+"를 구매.");
    }
    
    void summary(){
        int sum=0;
        String itemList="";
        
        for(int i=0; i<item.length; i++){
            if(item[i]==null) break; //break = 속해 있는 문(반복문, Swich문)에서 사용하게 되면 빠져나온다.
            sum += item[i].price;
            itemList += item[i] + " ";
        }
        System.out.println(sum+"원어치 구매");
        System.out.println(itemList + "를 구매.");
    }
}​

728x90

'JAVA > 예제' 카테고리의 다른 글

[JAVA] ch07-20. 객체 지향 20  (0) 2017.08.22
[JAVA] ch07-19. 객체 지향 19  (0) 2017.08.22
[JAVA] ch07-17. 객체 지향 17  (0) 2017.08.22
[JAVA] ch07-16. 객체 지향 16  (0) 2017.08.22
[JAVA] ch07-15. 객체 지향 15  (0) 2017.08.22

댓글