본문 바로가기

강의자료/C/C++

035. 클래스를 이용하여 커피 자판기를 구현해보자.

◈ 이 글은 강의를 위하여 제가 직접 작성한 내용입니다. 따라서 퍼가실 경우, 출처를 명확히 해주시기 바랍니다!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!


클래스라는 사용자 정의 타입이 나오게 된 계기는 실생활에 존재하는 대상(객체)을 하나의 타입으로써 다루기 위해서였다.
예를 하나 들어서, 커피 자판기를 하나의 타입으로 다루기를 원한다고 가정하자.
컴파일러에서 제공하는 프리미티브 타입(int, char, float 등등)으로는 커피 자판기를 표현할 수 없다.
하지만 클래스를 이용한다면 가능해진다.
코드를 보면서 클래스를 왜 사용하는지... 그 목적이 무엇인지를 깨우치도록 하자.
#include  
using namespace std;

#define COFFEE_COST 200

class CoffeeMachine
{
public:
	int coffee(int money)
	{
		return money/COFFEE_COST;
	}               
};

int main( )
{
	CoffeeMachine machine;
	//CoffeeMachine* machine2 = &machine;
	int inputMoney=0;
	int cups=0;

	cout << "커피자판기 [한잔에 " << COFFEE_COST << "원]" << endl;
	cout << "동전을 넣으시오 : ";
	cin >> inputMoney;
	cout << "커피 한잔이 " << COFFEE_COST << "원일 때 " << inputMoney << "원을 자판기에 넣으면 ";
 
	cups = machine.coffee(inputMoney);
	//cups = (*machine2).coffee(inputMoney);
	//cups = machine2->coffee(inputMoney);

	cout << cups << "잔이 나온다." << endl;
	cout << endl; 

	return 0;
}