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에 구현한다. 예외도 있지만 말이다.