ν΄λμ€λ₯Ό μ μΈν λ,
λ΄λΆμμ public: ν€μλλ₯Ό μμ±νμ§ μμΌλ©΄ μ»΄νμΌ μλ¬κ° λ¨λ κ²½νμ΄ μμ κ²λλ€.
μ΄κ²μ ν΄λμ€μμ λ§€μ° μ€μν μ κ·Ό μ νμ(Access Modifier) λΌλ κ°λ μ ν΄λΉν©λλ€.
C++ μ κ·Ό μ νμμλ κΈ°λ³Έμ μΌλ‘ 3κ°μ§μ μ κ·Ό μ νμκ° μ‘΄μ¬ν©λλ€.
κ°κ° public, private, protcted μ λλ€.
public μ κ·Ό μ νμλ μ½λ λ΄μ λͺ¨λ κ³³μμ μ κ·Όμ΄ κ°λ₯ν©λλ€.
private μ κ·Ό μ νμλ λ€λ₯Έ ν΄λμ€ λ©€λ²λ€μ΄λ friendλ€μκ²λ§ μ κ·Όμ΄ κ°λ₯ν©λλ€.
protected μ κ·Ό μ νμλ μμ(inheritance)μ ν¨κ» μ¬μ©λλ μ κ·Ό μ νμμ λλ€.
syntaxλ λ€μκ³Ό κ°μ΅λλ€.
class Class_Name{
public:
// private:
// protected:
// declaration(s);
};
μ κ·Ό μ νμ μ΄νμ μ½λλ€μ ν΄λΉ μ κ·Ό μ νμ μν₯μ λ°μ΅λλ€.
μμ μμμμλ publicμΌλ‘ μ μΈνμΌλ μ½λ λ΄μ λͺ¨λ κ³³μμ μ κ·Όν μ μκ³μ£ ?
ν ν΄λμ€ λ΄μμ μ¬λ¬κ°μ§μ μ κ·Ό μ νμλ₯Ό μ¬μ©ν μ μμ΅λλ€.
μ΄ ννλ λ§€μ° μ€μνκ³ μμ£Ό μ¬μ©λλ κ°λ μ λλ€.
class Player
{
private:
std::string name;
int health;
int xp;
public:
void talk(std::string text_to_say);
bool is_dead();
};
privateλ‘ μ μΈλ name, health, xpλ λ€λ₯Έ λ©€λ²λ€μ ν΅ν΄μλ friendλ€λ‘λ§ μ κ·Όμ΄ κ°λ₯ν©λλ€.
publicμΌλ‘ μ μΈλ λκ°μ§ λ©μλλ€μ μ½λ λ΄λΆ μ΄λμμλ μ κ·Όμ΄ κ°λ₯ν©λλ€.
μ΄ ν΄λμ€μ λν΄μ, privateλ‘ μ μΈλ μμ±μ μ κ·Όνλ €κ³ νλ©΄ compile errorκ° λ°μν©λλ€.
κ·Έμ λ°ν΄, talk μ is_dead λ©μλμ μ κ·Όνλ €κ³ νλ©΄ μ€λ₯κ° λ°μνμ§ μμ΅λλ€.
Player ricky;
ricky.name = "Ricky"; // π« compile error
ricky.health = 1000; // π« compile error
ricky.talk("I badly want to have a nap right now.."); // β
OK