C++์์๋ ํด๋์ค์๋ ์์ (const) ๊ฐ๋
์ ์ ์ฉํ ์ ์์ต๋๋ค. const๊ฐ ์ ์ฉ๋ ํด๋์ค๋ ์์ฑ(attribute)๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์์ฑ์ ๋ฉค๋ฒ ํจ์๋ฅผ ํธ์ถํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? const Player villain {"Villain", 100, 55}; villain.set_name("Thanos");// COMPILER ERROR std::cout
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); ๊ทธ๋ ๋ค๋ฉด ๋์ ์ผ๋ก ๋ง๋ค์ด์ง ๊ฐ์ฒด์ ๋ํด์๋ ์ด๋ป๊ฒ ํ ๊น์? ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต..
'๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ | Objecet Oriented Programming (OOP)' ์ด๋ ๋ฌด์์ผ๊น์? ์ด๋ฅผ ๋ ์ ์ดํดํ๊ธฐ ์ํด์, ์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ์ฃผ๋ก ์ฌ์ฉํ๋ Procedural Programming, ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์ ์ฐ์ ์ดํด ํด ๋ด
์๋ค. ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ | Procedural Programming (PP) ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ํฌ์ธํธ๋ 'ํจ์' ์
๋๋ค. PP ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํจ์์ ์งํฉ ์
๋๋ค. ๋ํ, ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ ์ธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์์์ ํด๋น ๋ฐ์ดํฐ๋ค์ ํจ์์ ์ธ์๋ก์จ ์ ๋ฌํ์ฌ ํ์ฉํฉ๋๋ค. ํ์ํ ์ฉ๋์ ๋ง์ถฐ ๊ณผ์ ์ ๋ถ์ํ๊ณ , ๋๋์ด์ ํจ์๋ฅผ ์ ์ธํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๊ธฐ์ ์ดํดํ๊ธฐ ๋งค์ฐ ์ง๊ด์ ์
๋๋ค. ํ์ง๋ง ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์๋ ๋ถ๋ช
ํ ํ๊ณ๋ค์ด ์กด์ฌํฉ๋๋ค. ๋..