C++

C++์—์„œ๋Š” ํด๋ž˜์Šค์—๋„ ์ƒ์ˆ˜ (const) ๊ฐœ๋…์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. const๊ฐ€ ์ ์šฉ๋œ ํด๋ž˜์Šค๋Š” ์†์„ฑ(attribute)๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์†์„ฑ์˜ ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? const Player villain {"Villain", 100, 55}; villain.set_name("Thanos");// COMPILER ERROR std::cout
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 ํ”„๋กœ๊ทธ๋žจ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•จ์ˆ˜์˜ ์ง‘ํ•ฉ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•„์š”์‹œ์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์„ ํ•จ์ˆ˜์— ์ธ์ž๋กœ์จ ์ „๋‹ฌํ•˜์—ฌ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์šฉ๋„์— ๋งž์ถฐ ๊ณผ์ •์„ ๋ถ„์„ํ•˜๊ณ , ๋‚˜๋ˆ„์–ด์„œ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ธฐ์— ์ดํ•ดํ•˜๊ธฐ ๋งค์šฐ ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—๋Š” ๋ถ„๋ช…ํ•œ ํ•œ๊ณ„๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋Œ€..
Chan Lee
'C++' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก