๐Ÿฆ– Private/C Language

C์–ธ์–ด๋ž€?

SONOTREE 2024. 12. 31. 12:14

1. ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ๊ณผํ•™์  ์‚ฌ๊ณ 

๊ณตํ•™์ž๋“ค์€ ์–ด๋ ต๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ์— ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ• ๊นŒ?

-> ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ•˜๋‚˜์”ฉ ์ ‘๊ทผํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ž‘์€ ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์”ฉ ํ•ด๊ฒฐํ•˜๋‹ค ๋ณด๋ฉด ๊ฒฐ๊ตญ ํฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ด์ฒ˜๋Ÿผ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ฌธ์ œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋Š” ๊ณผํ•™์  ์‚ฌ๊ณ ๋ฒ•์„ computational thinking์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๋ ‡๊ฒŒ ์„ค๊ณ„ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ปดํ“จํ„ฐ์˜ ๋ช…๋ น์–ด๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ฆ‰ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋ถ„ํ•ดํ•˜๊ณ , ๋ฌธ์ œ์˜ ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•˜๊ณ , ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์ฐพ๋Š” ๊ณผ์ •์ด๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, ๋น„ํŠธ๋งต ํŒŒ์ผ์„ ์•„์Šคํ‚ค ์•„ํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฌธ์ œ๋Š” 1) ์ด๋ฏธ์ง€ ํฌ๋งท ์•Œ์•„๋‚ด๊ธฐ, 2) ํ”ฝ์…€์˜ ์ƒ‰์ƒ์„ ์–ป์–ด์˜ค๊ธฐ, 3) ํ”ฝ์…€์ด ์ƒ‰์ƒ์— ๋”ฐ๋ผ ํŠน์ˆ˜ ๋ฌธ์ž๋กœ ์ถœ๋ ฅํ•˜๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

+) ์ฒ˜๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ž‘์—… ๋˜๋Š” ๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๋ง๋กœ ์š”๊ตฌ์‚ฌํ•ญ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ์ž‘์—…์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ์ผ์ด ๋œ๋‹ค.

 

 

 

2. ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ฝ”๋”ฉ

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ๋ญ˜ ์˜๋ฏธํ•˜๋Š”๊ฑธ๊นŒ?

-> ๋ฌธ์ œ์—์„œ ์ผ์ •ํ•œ ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•˜๊ณ , ํŒจํ„ด์„ ํ† ๋Œ€๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๋Š” ํ–‰๋™์„ ์ฝ”๋”ฉ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ปดํ“จํ„ฐ ๋ช…๋ น์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๋Š” ์ฝ”๋”ฉ๊ณผ ๊ฐ™์€ ๊ฐœ๋…์ด๋‹ค.

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์ฝ”๋”ฉ?

-> ์‚ฌ์‹ค ๋‘˜ ๋‹ค ๊ฐ™์€ ์ž‘์—…์„ ์ง€์นญํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ปดํ“จํ„ฐ ๋ช…๋ น์–ด๋กœ ํ‘œํ˜„ํ•œ๋‹ค๋Š” ๋œป์ด๋ผ๋Š” ์ปดํ“จํ„ฐ ์ชฝ์— ๊ฐ€๊น๊ณ , ์ฝ”๋”ฉ์€ C ์–ธ์–ด ๋“ฑ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋Š” ๋œป์—์„œ ์–ธ์–ด ์ชฝ์— ๊ฐ€๊นŒ์šด ํ‘œํ˜„์ด๋‹ค.

 

 

3. C์–ธ์–ด๋ž€?

BCPL(Basic Combined Programming Language) -> B์–ธ์–ด -> C์–ธ์–ด -> C++, Java, C#, PHP...

ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋Š” Window, Linux, iOS, Android ๋“ฑ์˜ ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ์š”์†Œ์ธ ์ปค๋„์€ C์–ธ์–ด๋กœ ๋งŒ๋“ค์–ด์ ธ์žˆ๋‹ค(์•ฝ๊ฐ„์˜ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ํฌํ•จ). ์ฆ‰, ์šด์˜์ฒด์ œ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด C์–ธ์–ด๋ฅผ ํ†ตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด๋“ค์€ ๋ชจ๋‘ C์–ธ์–ด์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ตฌ์กฐ์ด๋‹ค.

 

ํŠนํžˆ ๋ฉ”๋ชจ๋ฆฌ์™€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š”๋ฐ C์–ธ์–ด๋ฅผ ๋”ฐ๋ผ๊ฐˆ ์–ธ์–ด๊ฐ€ ์—†๋‹ค. C์™€ C++์„ ์ œ์™ธํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ๋ฒ”์šฉ ์–ธ์–ด๋Š” ๋งŽ์ง€ ์•Š๋‹ค. ์šฐ๋ฆฌ ๋ˆˆ์— ์ž˜ ๋„์ง€๋Š” ์•Š์ง€๋งŒ C์–ธ์–ด๋Š” ์ปดํ“จํ„ฐ ์„ธ์ƒ์˜ ๋‹จ๋‹จํ•œ ๊ธฐ๋ฐ˜์„ ์ด๋ฃจ๊ณ ์žˆ๋‹ค.

 

C์–ธ์–ด๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ํ‰๊ฐ€๋„ ์žˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ๋ฅผ ์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๊ธฐ ์ข‹์€ ์–ธ์–ด์ด๊ธฐ๋„ ํ•˜๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋‚˜ ํ•˜๋“œ์›จ์–ด์— ๊ด€๋ จ๋œ ๋‚ด์šฉ๋„ ๋ฐฐ์šฐ๊ธฐ ๋–„๋ฌธ์— ์ปดํ“จํ„ฐ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ํ•จ๊ป˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

BCPL
: ๋งˆํ‹ด ๋ฆฌ์ฒ˜๋“œ๊ฐ€ ์„ค๊ณ„ํ•œ ์ ˆ์ฐจ์  ๋ช…๋ นํ˜•, ๊ตฌ์กฐ์  ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.

BCPL์€ ๊ด„ํ˜ธ {}๋ฅผ ์‚ฌ์šฉํ•œ ์ตœ์ดˆ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ๊ด„ํ˜ธ๋Š” ๊ฑฐ๋“ญ๋˜๋Š” ๋ฌธ๋ฒ•์˜ ๋ณ€ํ™”๋ฅผ ์ƒ์กด์‹œ์ผฐ๊ณ , ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ฌธ๋“ค์„ ํ‘œ๊ธฐํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ์ˆ˜๋‹จ์ด ๋˜์—ˆ๋‹ค.