14.2.1 상품 클래스 만들기
상품 클래스부터 구상해 봅시다. 온라인 쇼핑몰에 등록되는 상품들이 반드시 가져야 할 속성에는 무엇이 있을까요? 당연히 상품이름과 가격이겠죠. 그리고 품절된 제품을 구매하지 않도록 재고수량도 보여 줍시다. 클래스명은 Product로 하겠습니다.
▲ 그림 14-10 상품 클래스 구조
그림처럼 Product 클래스는 name(상품이름), price(상품가격), stock(재고수량)을 의미하는 인스턴스 속성이 있습니다. 그리고 새로운 상품을 등록할 때마다 Product 클래스를 바탕으로 하는 객체를 만들면 됩니다. 예를 들어, 양말을 쇼핑몰에 등록한다고 하면 name, price, stock 속성을 포함한 socks 객체를 생성합니다. 다른 상품도 마찬가지입니다.
▲ 그림 14-11 상품 클래스와 객체 구조