7-29~30 다형성 장점2(여러 종류의 객체를 배열로 다루기)

oyeon·2020년 12월 29일
0

(완)객체지향 개념

목록 보기
30/37

여러 종류의 객체를 배열로 다루기

  • 조상타입의 배열에 자손들의 객체를 담을 수 있다.
Product p1 = new Tv();
Product p2 = new Computer();
Product p3 = new Audio();

위의 코드를 다음과 같이 바꿀 수 있다.

Product p[] = new Product[3];
p[0] = new Tv();
p[1] = new Computer();
p[2] = new Audio();

예제

class Buyer {
	int money = 1000;
	int bonusPoint = 0;
	
    	// 다형성이 되기 때문에 하나의 배열에 여러 종류의 객체를 담아 관리가 용이해진다.
    	Product[] cart = new Product[10];	// 구입한 물건을 담을 배열
    
	void buy(Product p) { // 메서드 하나로 여러 물건을 살 수 있다. buy(new XX())
		if(money < p.price) {
			System.out.println("잔액 부족");
			return;
		}
		money -= p.price;
		bonusPoint += p.bonusPoint;
        cart[i++] = p;	// 카트에 저장
	}
}
profile
Enjoy to study

0개의 댓글