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