๊ณต๋ถ€/์ฝ”๋”ฉ

[c++] ์บก์Аํ™”์™€ ์ ‘๊ทผ์ž ๋ฉ”์„œ๋“œ ์—ฐ์Šต

sourceoftax 2025. 7. 27. 15:17

๊ฐ„๋‹จํ•œ ์€ํ–‰ ์ž…๊ธˆ/์ถœ๊ธˆ/์ž”์•ก ํ™•์ธ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. 

#include <iostream>
#include <string>
using namespace std;

class Account {
private:
	string name;
	double balance;

public:
	Account(string n = "", double b = 0.0) {
		name = n;
		balance = b;
	}

	void desposit(double a) {
		balance += a;
	}

	void withdraw(double a) {
		if (balance >= a) {
			balance -= a;
		}
		else {
			cout << "์ž”์•ก๋ถ€์กฑ" << endl;
		}
	}

	void printStatus(){
		cout << "ํ˜„์žฌ ์ž”์•ก: " << balance << endl;
	}

};

int main(void) {
	int num(0);
	double amount = 0.0;
	Account account("name", 10000.0);


	while (1){
	cout << "1๋ฒˆ: ์ž”์•ก ์ž…๊ธˆ\n2๋ฒˆ: ์ž”์•ก ์ถœ๊ธˆ\n3๋ฒˆ: ํ˜„์žฌ ์ƒํƒœ ์ถœ๋ ฅ" << endl;
	cin >> num;

	if (num == 1) {
		cout << "์ž…๊ธˆํ•  ๊ธˆ์•ก ์ž…๋ ฅ";
		cin >> amount;
		account.desposit(amount);
	}
	else if (num == 2) {
		cout << "์ถœ๊ธˆํ•  ๊ธˆ์•ก ์ž…๋ ฅ";
		cin >> amount;
		account.withdraw(amount);
	}
	else if (num == 3) {
		account.printStatus();
	}
	else {
		break;
	}
	}

	return 0;
}

๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ์„ ๋•Œ๋Š” ํด๋ž˜์Šค์— ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ๊ฐœ์ธ์˜ ์ด๋ฆ„๊ณผ ํ†ต์žฅ ์ž”๊ณ ๋ฅผ ํผ๋ธ”๋ฆญ์— ๋„ฃ๋Š” ์ •์‹  ๋‚˜๊ฐ„ ์ง“์„ ํ•ด๋ฒ„๋ ธ์Œ...

 

์ ‘๊ทผ ์ง€์ •์ž๋ฅผ private์œผ๋กœ ์„ ์–ธํ•˜๋ฉด(์‚ฌ์‹ค ๊ธฐ๋ณธ ์ง€์ •์ž๊ฐ€ private์ด๊ธฐ๋„ ํ•˜๋‹ค) ์ด์ œ class ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด์™€ ๋ฐ˜๋Œ€๋กœ public์€ class ์™ธ๋ถ€, ์˜ˆ๋ฅผ ๋“ค๋ฉด main ํ•จ์ˆ˜์—์„œ๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋žจ ์ด์šฉ์ž๊ฐ€ ๋ง˜๋Œ€๋กœ ์ˆ˜์ •ํ•˜๋ฉด ์•ˆ๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธ ์ •๋ณด๋Š” private ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ž…๊ธˆ/์ถœ๊ธˆ/์ž”์•กํ™•์ธ ํ•จ์ˆ˜๋ฅผ public์— ์„ ์–ธํ•ด๋†“์œผ๋ฉด, ์ด์šฉ์ž๊ฐ€ ์ด ํ•จ์ˆ˜๋“ค์—๊ฒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•จ์ˆ˜๋“ค์€ class ๋‚ด๋ถ€์— ์œ„์น˜ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ private์— ์žˆ๋˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ ๋‚ด๋ถ€์—์„œ ์กฐ์ž‘ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋

์ ‘๊ทผ ์ง€์ •์ž์—๋Š” protected๋„ ์žˆ๋Š”๋ฐ ์ด ๋ฌธ์ œ์—์„œ๋Š” ์•ˆ ์ผ๋‹ค. ์ƒ์† ์ชฝ ๋” ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•  ๋•Œ ์˜ฌ๋ ค๋ณด๊ฒ ์Œ