C ++์˜ ์ฐฝ์‹œ์ž๋Š” ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ถ€๊ณผ๋ฅผ ๋น„ํŒํ–ˆ์Šต๋‹ˆ๋‹ค.

C++ ์–ธ์–ด ์ฐฝ์‹œ์ž์ธ Bjarne Stroustrup์€ ์กฐ์ง์ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งก๊ธฐ๋Š” C ๋ฐ C++์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋ฒ—์–ด๋‚˜ ์–ธ์–ด๋ฅผ ์„ ํ˜ธํ•˜๋„๋ก ๊ถŒ์žฅํ•˜๋Š” NSA ๋ณด๊ณ ์„œ์˜ ๊ฒฐ๋ก ์— ๋Œ€ํ•ด ์ด์˜๋ฅผ ์ œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. โ€‹โ€‹์ž๋™ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ์ปดํŒŒ์ผ ํƒ€์ž„ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” C#, Go, Java, Ruby, Rust ๋ฐ Swift์™€ ๊ฐ™์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Stroustrup์— ๋”ฐ๋ฅด๋ฉด NSA ๋ณด๊ณ ์„œ์— ์–ธ๊ธ‰๋œ ๋ณด์•ˆ ์–ธ์–ด๋Š” ์‹ค์ œ๋กœ ๊ทธ์˜ ๊ด€์ ์—์„œ ์ค‘์š”ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ C++๋ณด๋‹ค ์šฐ์ˆ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์ตœ๊ทผ ๊ฐœ๋ฐœ๋œ C++ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ถŒ์žฅ ์‚ฌํ•ญ(C++ ํ•ต์‹ฌ ์ง€์นจ)์—์„œ๋Š” ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์œผ๋ฉฐ ์œ ํ˜• ๋ฐ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ˆ์ „ํ•œ ์ž‘์—…์„ ๋ณด์žฅํ•˜๋Š” ๋„๊ตฌ ์‚ฌ์šฉ์„ ๊ทœ์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์—„๊ฒฉํ•œ ๋ณด์•ˆ ๋ณด์žฅ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ์กด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Stroustrup์€ C++ ํ•ต์‹ฌ ์ง€์นจ์„ ๋”ฐ๋ฅด๋Š” ์šฐ์ˆ˜ํ•œ ์ •์  ๋ถ„์„๊ธฐ๊ฐ€ ์ƒˆ๋กœ์šด ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ C++ ์ฝ”๋“œ์˜ ์•ˆ์ „์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋Œ€๋ถ€๋ถ„์˜ ํ•ต์‹ฌ ์ง€์นจ์€ Microsoft Visual Studio์— ํฌํ•จ๋œ ์ •์  ๋ถ„์„๊ธฐ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ ํ”„๋กœํ•„์— ์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Clang ๊น”๋”ํ•œ ์ •์  ๋ถ„์„๊ธฐ์—์„œ๋Š” ์ผ๋ถ€ ๊ถŒ์žฅ ์‚ฌํ•ญ๋„ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.

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

๋ณด์•ˆ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋” ์ค‘์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์„ ํƒ์ ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ ๋„๊ตฌ๋Š” ๋ฒ”์œ„ ํ™•์ธ ๋ฐ ์ดˆ๊ธฐํ™” ๊ทœ์น™์œผ๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ๋ณด๋‹ค ์—„๊ฒฉํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ ์ง„์ ์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๋“ฑ ๋‹จํŽธ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€