C++μμ κ°μ²΄λ₯Ό μμ±ν λ, λμ
μ°μ°μλ₯Ό μ¬μ©νμ§ μκ³ λ¦¬μ€νΈμ νμμΌλ‘ μ΄κΈ°ν νλ λ°©λ²μ΄ μ‘΄μ¬ν©λλ€. μ΄λ₯Ό μ°λ¦¬λ μμ±μ μ΄κΈ°ν 리μ€νΈ λΌκ³ λΆλ¦
λλ€ μμλ₯Ό 보μ¬λλ¦¬κ² μ΅λλ€. class Player { private: string name{}; int health{}; int xp{}; public: // Constructor Player(string name_val, int health_val, int xp_val); }; Player::Player(string name_val, int health_val, int xp_val) : name{name_val}, health{health_val}, xp{xp_val} {} νμ§λ§ μ
λ ₯νλ μ¬λμ΄ λͺ¨λ κ°μ μ
λ ₯νμ§ μμ μ μκΈ° λλ¬Έμ μ°λ¦¬λ μ€λ²..
C++
OOPλ₯Ό μ¬μ©νλ€λ³΄λ©΄, ν νλ‘μ νΈ λ΄μμ λ€μμ ν€λ νμΌκ³Ό cppνμΌμ λ§λ€κ² λ©λλ€. μ΄ λ μ°λ¦¬λ cpp νμΌ λ΄λΆμμ, include "header_name.h" μ ννλ‘ μ°λ¦¬λ ν€λ νμΌμ μ¬μ©νκ² λ©λλ€. νμ§λ§ cpp νμΌμ΄ λ€μκ° λλ©΄μ, νκ°μ§ ν€λλ₯Ό λ€μμ cpp νμΌμμ μ€λ³΅ ν¬ν¨νκ² λ κ²½μ°κ° λ°μν μ μμ΅λλ€. μ΄λ₯Ό μ°λ¦¬λ μ€λ³΅ μ μ λ¬Έμ λΌκ³ λ λΆλ¦
λλ€. μ΄λ° ννλ μ»΄νμΌ μ€λ₯λ₯Ό μ λ°ν©λλ€. (νλ C++ μ»΄νμΌλ¬λ€μ μ΄λ₯Ό λ°©μ§νκΈ° μν λ΄λΆ λ©μ»€λμ¦μ΄ μ‘΄μ¬ν©λλ€λ§, λΉμ°ν μ μ΄μ μ΄λ¬ν μ€λ₯λ€μ λ°©μ§νλ κ²μ΄ μ°μ μ
λλ€.) κ·Έλ κ² νκΈ° μν΄μ, λκ°μ§ μ μ²λ¦¬λ¬Έμ μ¬μ©νλ λ°©λ²μ΄ μ‘΄μ¬ν©λλ€. 1. #ifndef, #define, #endif #ifndef, #define,..
μμλ€μνΌ ν΄λμ€μλ μμ± attributes μ λ©μλ methods κ° μ‘΄μ¬ν©λλ€. μ΄κ²λ€μ ν΄λμ€ λ©€λ² λΌκ³ λΆλ₯΄λλ°μ, ν΄λμ€ λ©€λ²λ€μ μ κ·ΌνκΈ° μν΄μλ μ΄λ»κ² ν΄μΌ ν κΉμ? λ°λ‘ κ° κ°μ²΄λ€μ μ΄λ¦ λ€μ dot operator(.) λ₯Ό μ¬μ©ν©λλ€. μν κ³μ’ κ΄λ¦¬μ© Account ν΄λμ€λ₯Ό ν΅ν΄ ricky_accountλΌλ κ°μ²΄λ₯Ό λ§λ€μμ΅λλ€. κ·Έλ¦¬κ³ ricky_account.balance, ricky_account.deposit(double)μΌλ‘ κ°κ° μμ±κ³Ό λ©μλλ₯Ό νΈμΆνμμ΅λλ€. Account ricky_account; ricky_account.balance; ricky_account.deposit(1000.00); κ·Έλ λ€λ©΄ λμ μΌλ‘ λ§λ€μ΄μ§ κ°μ²΄μ λν΄μλ μ΄λ»κ² ν κΉμ? λκ°μ§ λ°©λ²μ΄ μμ΅..
OOPμ ν΅μ¬μΈ ν΄λμ€μ κ°μ²΄λ κ°κ° 무μμΌκΉμ? Class | ν΄λμ€ ν΄λμ€λ 'κ°μ²΄λ€μ μ²μ¬μ§' μ
λλ€. λν ν΄λμ€λ 'μ¬μ©μκ° μ§μ ν μλ£ν' μ
λλ€. λ§μΉ μ°λ¦¬κ° μ¬μ©νλ μ μλ μ€μ μλ£νμ²λΌ μ¬μ©ν μ μλ λ°μ΄ν°μ
λλ€. (ν΄λμ€μ μ μΈ λ°©μμ 보면 λμ± μ΄ν΄κ° λ κ² μ
λλ€.) ν΄λμ€μλ attributes(μμ±) λ€μ΄ μλλ°, κ·Έκ²μ΄ μ°λ¦¬κ° μλ 'κ° (data)' κ³Ό λμΌν μν μ
λλ€. κ·Έλ¦¬κ³ methods(λ©μλ) λ€λ μλλ°, μ΄κ²μ μ°λ¦¬κ° μ¬μ©νλ 'ν¨μ (function)' μ λμΌν μν μ
λλ€. λν ν΄λμ€λ€μ ν΄λμ€μ λ΄λΆμ μΌλ‘λ§ μ¬μ©λλ μ©λμ ν¨μ(λ©μλ)μ κ°(μμ±) λ€μ κ°μ§κ³ μμ μ μμ΅λλ€. κ·Έλ¦¬κ³ μ΄λ€μ μ¨κΈΈ μ μμ΅λλ€. μ΄λ¬ν κ°λ
λ€μ public / pri..