본문 바로가기

카테고리 없음

[C++] 클래스(class) 이해하기

class account
{
private :
	int balance;
public :
	void deposit(int money)
	{
		balance += money;
		cout << "입금 되었습니다." << endl;
	}

	void withdraw(int money)
	{
		balance -= money;
		cout << "출금 되었습니다." << endl;
	}
};

void main()
{
	account act;
	act.deposit(100);
	act.withdraw(50);
}

프로그램 실행화면


구조체는 다 알고 있을 것이다. 지금 C++을 공부하고 있으니 말이다. 하지만 클래스는 처음 보는 개념이다. 쉽게 이해하자면 구조체에 원하는 함수도 같이 넣어 둔 것이다.


은행 계좌라는 녀석이 있다. 원하는 변수들도 한번에 묶어 두면서 제어가 가능한 함수들도 같이 묶어 놓자는 개념이다. 객체지향 프로그래밍의 최고의 장점이다.


이렇게 한 덩어리, 한 블럭 단위로 프로그래밍을 해 놓으면 언제든 다시 사용할 수가 있는 것이다. 이 객체 즉 클래스(class)를 잘 이해하고 사용하는 것이 C++을 배우는데 핵심이 아닌가 싶다.


public과 private이 나온다. private밑에 있는 것들은 act.을 찍어 보면 자물쇠가 앞에 나오는 것을 볼 수 있을 것이다. 자기 클래스 안에서만 접근이 가능하다.


즉 act.balance = 50; 이렇게 접근할 수가 없는 것이다. 반면에 public은 어디서나 접근이 가능하다. 보통 변수들은 private에 함수들은 public에 구현한다. 예외도 있지만 말이다.