Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2021/12 (39)

KoreanFoodie's Study

[MiniEssay] ์‹ธ๊ตฌ๋ ค ์†Œ์„ค

๋“ค์–ด๋ด. ๋‚ด๊ฐ€ ๋…ธ๋ž˜๋ฅผ ๋“ค์œผ๋ฉฐ ์—์Šค์ปฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ฒœ์ฒœํžˆ ๋‚ด๋ ค๊ฐ€๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๋ง์•ผ. ๋‚ด๋ ค๊ฐ€๋‹ค ๋ณด๋‹ˆ ์Šค์ณ ์ง€๋‚˜์น˜๋Š” ์‚ฌ๋žŒ๋“ค๋„ ์—ญ์‹œ ๋‚˜์™€ ๊ฐ™์€ ์—์–ดํŒŸ ํ”„๋กœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋”๋ผ๊ณ . ๊ทผ๋ฐ ๊ทธ ์ค‘ ํ•œ ๋ถ„์ด ์—์–ดํŒŸ ํ”„๋กœ๋ฅผ ๋–จ์–ด๋œจ๋ฆฐ๊ฑฐ์•ผ. ์ผ€์ด์Šค๋ฅผ ๋‹ซ๋‹ค๊ฐ€. ์–ด์ฉŒ๊ธด ์–ด์งธ, ์นœ์ ˆํ•จ์ด ๋ชจํ† ์ธ ๋‚ด๊ฐ€ ๋ชป ๋ณธ์ฒ™ ํ•  ์ˆ˜ ์—†์—ˆ์ง€. ๊ทธ๋ž˜์„œ ๋งˆ์น˜ ์นด๋“œ ๋งˆ์ˆ ์„ ํ•˜๋“ฏ ๊ณผ์žฅ๋œ ์†์ง“์œผ๋กœ ํŠ•๊ฒจ ๋‚˜๊ฐ€๋Š” ์—์–ด ํŒŸ์„ ํ•˜๋‚˜, ๋‘˜ ์ง‘์–ด ๊ทธ๋ถ„์—๊ฒŒ ๊ฑด๋‚ด์ฃผ์—ˆ์–ด. ๊นœ์ง ๋†€๋ผ ์ฒญ์„ค๋ชจ์ฒ˜๋Ÿผ ๋ˆˆ์„ ๋˜ฅ๊ทธ๋ž—๊ฒŒ ๋œฌ ๊ทธ๋ถ„์€ ์—์–ดํŒŸ ํ•œ์ชฝ์„ ์–ด์ƒ‰ํ•˜๊ฒŒ ๋“ค๊ณ  ์žˆ์—ˆ์ง€. ๋งˆ์นจ ๋‚˜๋Š” ์—์–ดํŒŸ์„ ๋ผ๊ณ  ์žˆ์—ˆ๊ธฐ์—, ์™ผ์ชฝ ์ฝฉ๋‚˜๋ฌผ์„ ์ž ์‹œ ๋นผ์–ด๋“ค๊ณ  ๊ทธ๋ถ„์˜ ์—์–ดํŒŸ์— ๊ฐ€๋ณ๊ฒŒ ๋ถ€๋”ชํ˜”์–ด. Cheers. ์—์–ดํŒŸ ๊ฑด๋ฐฐ์™€ ํ•จ๊ป˜ ๋‚˜๋Š” ๋‚˜์ง€๋ง‰์ด ๊ทธ๋Ÿฐ ๋ฌธ๊ตฌ๋ฅผ ๋‚ด๋ฑ‰๊ณ  ์œ ์œ ํžˆ ๊ทธ ์ž๋ฆฌ๋ฅผ ๋น ์ ธ๋‚˜์™”์–ด. ์•„๋งˆ ๋ชจ๋ฅด๊ธด ๋ชฐ๋ผ๋„, ๊ทธ ๋ถ„์—๊ฒŒ๋Š” ํ‰..

C++ ๊ธฐ์ดˆ ๊ฐœ๋… 4-5 : ๋ฌธ์ž์—ด ํด๋ž˜์Šค

๋ชจ๋‘์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ฐ„์ถ”๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋‘์˜ ์ฝ”๋“œ์˜ ์”น์–ด๋จน๋Š” C++ ๊ฐ•์ขŒ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! ๋ฌธ์ž์—ด ํด๋ž˜์Šค ๊ธฐ์กด C์–ธ์–ด์—์„œ๋Š” ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰์— ๋„ ๊ฐ’('\0')์„ ์‚ฝ์ž…ํ–ˆ๋‹ค. C++์—์„œ๋Š” ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ string ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, char* ๋Œ€์‹  string์„ ์‚ฌ์šฉํ•˜์ž! ์ง์ ‘ String Class๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๊ฒƒ์€ ์ข‹์€ ์—ฐ์Šต์ด ๋œ๋‹ค. ํ•„์š” ๋ช…์„ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ณ€์ˆ˜ : ๋ฌธ์ž์—ด ๊ธธ์ด, ๋ฌธ์ž์—ด ๋‚ด์šฉ, ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ๋ฉ”์†Œ๋“œ : ์ƒ์„ฑ์ž, ์†Œ๋ฉธ์ž, insert, erase, find, reserve, assign, compare ๋”๋ณด๊ธฐ์— ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋†“์•˜๋‹ค. ๋”๋ณด๊ธฐ ๋ชจ๋‘์˜ ์ฝ”๋“œ์—์„œ ์ œ์‹œํ•œ MyString ํด๋ž˜์Šค ์ฝ”๋“œ ์˜ˆ์‹œ : #include // str..

Tutorials/C++ : Beginner 2021. 12. 21. 15:23
[MiniEssay] ๋‹ค๋ฅธ ์˜ท, ๊ฐ™์€ ์–ผ๊ตด

์‚ฌ๋žŒ๋“ค์€ ์ „๋ถ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ์˜ท์„ ์ž…๊ณ  ์žˆ๋‹ค. ์˜ค๋Š˜๋„ ์ˆ˜๋งŽ์€ ํ–‰์ž๋“ค์€ ๋‚จ๋“ค๊ณผ ๋‹ค๋ฅธ ์ฒœ์ชผ๊ฐ€๋ฆฌ๋ฅผ ๊ฐ–๊ธฐ ์œ„ํ•ด ๋ฐฑํ™”์ ์„ ๊ฑท๊ณ  ๋˜ ๊ฑท๋Š”๋‹ค. ๋’ค์ ๊ฑฐ๋ฆฐ๋‹ค. ์‚ฌ๋ง‰์—์„œ ๋ฐ”๋Š˜์„ ์ฐพ๋“ฏ์ด, ๋์—†๋Š” ํƒ๊ตฌ์‹ฌ์€ ๋ฉˆ์ถœ ์ค„์„ ๋ชจ๋ฅธ๋‹ค. ์ง€์น˜์ง€๋„ ์•Š๋‚˜ ๋ณด๋‹ค. ์™œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์€ ๋‚จ๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ž…์œผ๋ ค ํ•˜๋Š” ๊ฑธ๊นŒ. ๊ฐ™์œผ๋ฉด์„œ๋„ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ. ๋น„์Šทํ•˜๋ฉด์„œ๋„ ํŠน์ƒ‰์žˆ๊ฒŒ. ์™œ์ผ๊นŒ. ๋ชจ๋‘๊ฐ€ ๊ฟˆ๊พธ๋Š” ๋˜‘๊ฐ™์€ ์–ผ๊ตด์„ ๊ฐ–๊ธฐ ์œ„ํ•ด ๋ถ„์ฃผํ•˜๋ฉด์„œ, ์˜ท์—๋Š” ์™œ. ๊ฐ•๋‚จ์–ธ๋‹ˆ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋”ฐ๋ผ์Ÿ์ด๋ผ๋Š” ์˜ค๋ช…๋„ ๊ฐ์ˆ˜ํ•˜๋ฉด์„œ ์™œ. ๋˜‘๊ฐ™์€ ๋ˆˆ, ๋˜‘๊ฐ™์€ ์ฝ”, ๋˜‘๊ฐ™์€ ์ž…์„ ๊ฐ–๊ธธ ๋ฐ”๋ผ๋Š” ์‚ฌ๋žŒ๋“ค. ํ•˜์ง€๋งŒ ์œ ๋… ์˜ท์—๋Š” ๋„ˆ๊ทธ๋Ÿฝ์ง€ ๋ชปํ•œ ์‚ฌ๋žŒ๋“ค. ๊ด€๋Œ€ํ•จ์„ ๊ฒฝํ—˜ํ•˜์ง€ ๋ชปํ•œ, ๋ถˆ์Œํ•œ ์˜ท๋“ค์—๊ฒŒ ์‹ฌ์‹ฌํ•œ ์œ„๋กœ๋ฅผ ๊ฑด๋‚ด๊ณ  ์‹ถ์€ ๋‚ ์ด๋‹ค. ์„ ํƒ๋ฐ›์ง€ ๋ชปํ•œ ํ”ผ์กฐ๋ฌผ์—๊ฒŒ ์ถ•๋ณต์„. ๋‹ค์Œ ์ƒ์—๋Š” ๋ˆ„๊ตฐ๊ฐ€์˜ ์˜ท์žฅ์— ๊ฑธ๋ ค ์žˆ๊ธฐ๋ฅผ.

C++ ๊ธฐ์ดˆ ๊ฐœ๋… 4-4 : ์ƒ์„ฑ์ž ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ, static ๋ณ€์ˆ˜, this ํฌ์ธํ„ฐ, const ๋ฉค๋ฒ„ ํ•จ์ˆ˜

๋ชจ๋‘์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ฐ„์ถ”๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋‘์˜ ์ฝ”๋“œ์˜ ์”น์–ด๋จน๋Š” C++ ๊ฐ•์ขŒ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! ์ƒ์„ฑ์ž์˜ ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ(initializer list) ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž. class Test { int a; int b; Test(); } Test::Test() : a(1), b(2) {} ์œ„์˜ ์˜ˆ์‹œ์—์„œ, (์ƒ์„ฑ์ž ์ด๋ฆ„) : var1(arg1), var2(arg2) ... ๊ฐ™์€ ํ˜•์‹์„ ์จ ์ฃผ๋ฉด, ์ƒ์„ฑ์ž ํ˜ธ์ถœ๊ณผ ๋™์‹œ์— ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋“ค์„ ์ดˆ๊ธฐํ™”ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. "๋™์‹œ์—"๋ผ๋Š” ๊ฐœ๋…์ด ์ค‘์š”ํ•˜๋‹ค. ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒ์„ฑ์„ ๋จผ์ € ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์— ๋Œ€์ž…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ๋Š” int a = 10; ์™€ ๊ฐ™๊ณ , ์ผ๋ฐ˜ ๋ฒ„์ „์˜ ์ƒ์„ฑ์ž๋Š” int a; a = 10; ์ฒ˜..

Tutorials/C++ : Beginner 2021. 12. 20. 19:48
C++ ๊ธฐ์ดˆ ๊ฐœ๋… 4-2 : ํ•จ์ˆ˜์˜ ์˜ค๋ฒ„๋กœ๋”ฉ, ์ƒ์„ฑ์ž, ๋””ํดํŠธ ์ƒ์„ฑ์ž

ํ•จ์ˆ˜์˜ ์˜ค๋ฒ„๋กœ๋”ฉ (function overloading) ํ•จ์ˆ˜์˜ ์˜ค๋ฒ„๋กœ๋”ฉ์€, ์ธ์ž๋กœ ๋“ค์–ด์˜ค๋Š” ๋ณ€์ˆ˜์˜ ํƒ€์ž…์— ๋”ฐ๋ผ ์ด๋ฆ„์ด ๊ฐ™์€ ํ•จ์ˆ˜๋“ค ์ค‘ ์ ํ•ฉํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ์ฃผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋•Œ, ์ธ์ž๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 ๋‹จ๊ณ„ : ์ž์‹ ๊ณผ ํƒ€์ž…์ด ์ผ์น˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค. 2๋‹จ๊ณ„ : ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ํƒ€์ž…์ด ์—†๋Š” ๊ฒฝ์šฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•๋ณ€ํ™˜์„ ํ†ตํ•ด ์ผ์น˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค. Char, unsigned char, short ๋Š” int๋กœ ๋ณ€ํ™˜๋œ๋‹ค. Unsinged Short๋Š” int์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ int ํ˜น์€ unsigned int๋กœ ๋ณ€ํ™˜๋œ๋‹ค. Float๋Š” double๋กœ ๋ณ€ํ™˜๋œ๋‹ค. Enum์€ int๋กœ ๋ณ€ํ™˜๋œ๋‹ค. 3๋‹จ๊ณ„ : ์œ„์™€ ๊ฐ™์ด ๋ณ€ํ™˜ํ•ด๋„ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์—†๋‹ค๋ฉด ์•„๋ž˜์˜ ์ข€ ๋” ํฌ๊ด„์ ์ธ ํ˜•๋ณ€ํ™˜์ด ์ผ์–ด๋‚œ๋‹ค. ์ž„์˜์˜ ์ˆซ..

Tutorials/C++ : Beginner 2021. 12. 20. 16:44
C++ ๊ธฐ์ดˆ ๊ฐœ๋… 4-1 : ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๊ฐ์ฒด์™€ ํด๋ž˜์Šค

๊ฐ์ฒด๋ž€? ๊ฐ์ฒด๋Š” ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜(instance variable)๊ณผ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ(instance method)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ํด๋ž˜์Šค ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ์ฐ์–ด๋‚ด๋Š” '์„ค๊ณ„๋„'์ด๋‹ค. ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜(member variable)๊ณผ ๋ฉค๋ฒ„ ํ•จ์ˆ˜(member function)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋Š” ์ ‘๊ทผ ์ง€์ •์ž๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. public : ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ protected : ์ƒ์†๋œ ํด๋ž˜์Šค๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ private : ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ ์‚ฌ์‹ค C++์—์„œ ํด๋ž˜์Šค์™€ ๊ตฌ์กฐ์ฒด์˜ ์œ ์ผํ•œ ์ฐจ์ด๋Š” ๋ฐ”๋กœ ์ ‘๊ทผ ์ง€์ •์ž์— ์žˆ๋‹ค!

Tutorials/C++ : Beginner 2021. 12. 20. 13:57