더북(TheBook)
class Member:
    def __init__(self, n, d):
        self.name, self.join_date = n, d
        self.purchase_list = []
        self.purchase_amount = 0

    def information(self):
        print('회원이름 :', self.name)
        print('가입날짜 :', self.join_date)
        print('구매내역 :', self.purchase_list)
        print('누적 구매금액 :', self.purchase_amount)

    # Product 객체가 인자로 전달됨
    def buy(self, product, count):
        print(self.name, '고객님이', product.name, count, '개 구매!')
        product.stock -= count # 구매수량만큼 재고 감소
        self.purchase_list.append(product.name)         # 구매내역에 상품 추가
        self.purchase_amount += (product.price * count) # 누적 구매금액 증가

Product 클래스의 객체가 매개변수 product로 전달되면 상품이름과 상품가격은 product.nameproduct.price로 접근할 수 있습니다. 따라서 구매내역에 상품이름을 추가할 수 있습니다. 상품 구매수량은 count로 전달되므로 Product 객체의 속성인 재고(product.stock)도 구매수량만큼 감소시킬 수 있습니다. 총 구매금액은 상품가격(product.price) × 구매수량(count)이 되고, 이를 이용해 누적 구매금액도 수정합니다. Member 클래스도 완성했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.