๐ ๊ฐ์ฒด ์งํฅ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๊ฐ์ฒด ์งํฅ์ ๋ณ์์ ํจ์๋ค์ ๋ชจ์์ธ ๊ฐ์ฒด ๋จ์๋ก ๋ณด๋ ๊ฒ์ ๋งํฉ๋๋ค. ํน์ง์ผ๋ก๋ ์ถ์ํ, ์บก์ํ, ์์, ๋คํ์ฑ์ด ์์ต๋๋ค.
์ถ์ํ๋ ํ์๋ก ํ๋ ์์ฑ, ํ๋์ ์ถ์ถํ๋ ๊ฒ ์
๋๋ค.
์บก์ํ๋ ๋ฎ์ ๊ฒฐํฉ๋๋ฅผ ์ ์งํ๋๋ก ์ค๊ณํ๋ ๊ฒ์ ๋งํ๋ฉฐ ์ ๋ณด ์๋์ ํ ์ ์์ต๋๋ค.
์์์ ๊ณตํต๋ ํน์ฑ์ ํ๋์ ๊ฐ๋
์ผ๋ก ์ ๋ฆฝํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
๋คํ์ฑ์ ๋ค๋ฅธ ํด๋์ค์ ๊ฐ์ฒด๊ฐ ๊ฐ์ ๋ฉ์์ง๋ฅผ ๋ฐ์์ ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐํํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
๐ ํด์ํ ์ด๋ธ๊ณผ STL map์ ๋ํด ์ค๋ช ํด๋ณด์ธ์.
(hash table = unordered_map)
ํด์ํ
์ด๋ธ์ ๊ฐ์ ํค์ ๋ํ ํด์ ํจ์๋ฅผ ํธ์ถํ์ฌ ์ ์ฅํฉ๋๋ค. ๊ฐ์ ์ ๋ ฌ๋ ์์๋ก ๋ณด๊ด๋์ง ์์ผ๋ฉฐ ๊ฐ์ ์ ์ฅํ ์ธ๋ฑ์ค๋ฅผ ์ฐพ๊ธฐ ์ํด ํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฝ์
๋ฐ ๊ฒ์์ ๋ถํ ์ํ์ ์ผ๋ก O(1) ์๊ฐ์ ์ํ๋ฉ๋๋ค. ๋ํ, ์ ์ฌ์ ์ถฉ๋์ ๊ณ ๋ คํ์ฌ ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ณดํต์ ์ถฉ๋๋๋ ๊ฐ์ ์๋ก ์ฒด์ด๋ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ, ํน์ ํค์ ๋์๋๋ ์ธ๋ฑ์ค ์์น์ ๋ชจ๋ ๊ฐ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ๋ฌถ๋ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํฉ๋๋ค.
Map์ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ง๋ red-black tree์ ํค์ ๊ฐ ์์ผ๋ก ๋ณด๊ดํฉ๋๋ค. ์ถฉ๋์ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ผ๋ฉฐ ํธ๋ฆฌ์ ๊ท ํ์ด ์ ์ง๋๋ฏ๋ก ์ฝ์ , ๊ฒ์ ์ฐ์ฐ์ ์๊ฐ์ O(logN)์ผ๋ก ๋ณด์ฅ๋ฉ๋๋ค.
๐ ์ค๋งํธ ํฌ์ธํฐ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
new ํค์๋๋ฅผ ์ฌ์ฉํด ๋์ ์ผ๋ก ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฐ๋์ delete ํค์๋๋ฅผ ์ฌ์ฉํด ํด์ ํด ์ค์ผ ํฉ๋๋ค. ํ์ง๋ง ๊ฐ๋ฐ์์ ์ค์๋ ์๋ชป๋ ์ค๊ณ๋ก ์ธํ์ฌ ํด์ ๊ฐ ์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ณ ์์ ํ ์ฌ์ฉ์ ์ํด ๋ฑ์ฅํ๊ฒ ๋ ๊ฒ์ด ์ค๋งํธ ํฌ์ธํฐ ์ ๋๋ค.
unique_ptr๋ ํ๋์ ์ค๋งํธ ํฌ์ธํฐ๋ง์ด ํน์ ๊ฐ์ฒด๋ฅผ ์์ ํ ์ ์๋๋ก ๊ฐ์ฒด์ ์์ ๊ถ ๊ฐ๋ ์ ๋์ ํ ์ค๋งํธ ํฌ์ธํฐ ์ ๋๋ค. ํด๋น ๊ฐ์ฒด์ ์์ ๊ถ์ ๊ฐ๊ณ ์์ ๊ฒฝ์ฐ์๋ง ์๋ฉธ์๊ฐ ํด๋น ๊ฐ์ฒด๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
shared_ptr๋ ํ๋์ ํน์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ์ค๋งํธ ํฌ์ธํฐ๊ฐ ์ด ๋ช๊ฐ ์ธ์ง๋ฅผ ์ฐธ์กฐํ๋ ์ค๋งํธ ํฌ์ธํฐ์ ๋๋ค. ์ฐธ์กฐ ํ์๊ฐ 0์ด ๋๋ฉด delete ํค์๋๋ฅผ ์ฌ์ฉํด ์๋์ผ๋ก ํด์ ๋ฉ๋๋ค.
๐ ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
์ค๋ฒ๋ก๋ฉ์ ๋ฉ์๋์ ์ด๋ฆ์ ๊ฐ์ง๋ง ๋งค๊ฐ๋ณ์๋ง ๋ค๋ฅด๋ค๋ฉด ์ ์ํ๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ค๋ฒ๋ผ์ด๋ฉ์ ์์ ๊ด๊ณ์์ ํด๋์ค ๊ฐ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ๋ถ๋ชจ ํด๋์ค์์ ์ ์ธ๋ ๋ฉ์๋๋ฅผ ์์ํด๋์ค์์ ์ฌ์ ์ํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
์ค๋ฒ๋ก๋ฉ์ ๋ฉ์๋ ์ด๋ฆ๋ง ๊ฐ๊ณ ๋๋จธ์ง๋ ๋ฌ๋ผ์ผ ํ๋ฉฐ, ์ค๋ฒ๋ผ์ด๋ฉ์ ์ด๋ฆ, ๋งค๊ฐ๋ณ์์ ๊ทธ ํ์
๋ค, ๋ฐํ ํ์
์ด ๊ฐ์์ผ ํฉ๋๋ค.
๐ ๊ฐ์ํจ์์ ๋์ ์๋ฆฌ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๊ฐ์ํจ์๋ ๊ฐ์ ํ
์ด๋ธ์ ์์กดํฉ๋๋ค. ์ด๋ค ํด๋์ค์ ํจ์๊ฐ virtual๋ก ์ ์ธ๋์์ผ๋ฉด, ํด๋น ํด๋์ค์ ๊ฐ์ ํจ์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๋ ๊ณ ์ ํ ๊ฐ์ ํ
์ด๋ธ์ด ์์ฑ๋ฉ๋๋ค. ์ด ํฌ์ธํฐ๋ ๊ฐ์ํ
์ด๋ธ์ ์์์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์
๋๋ค.
ํ์ ํด๋์ค๊ฐ ์์ ํด๋์ค์ ๊ฐ์ ํจ์๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ์ง ์์ผ๋ฉด ํ์ ํด๋์ค์ ๊ฐ์ ํ
์ด๋ธ์ ์์ ํด๋์ค์ ๊ฐ์ ํจ์ ์ฃผ์๋ฅผ ๋ณด๊ดํฉ๋๋ค.
์ด ๊ฐ์ํ
์ด๋ธ์ ์ฌ์ฉํด ๊ฐ์ ํจ์๊ฐ ํธ์ถ๋ ๋ ์ด๋ ์ฃผ์์ ์๋ ํจ์๊ฐ ํธ์ถ๋์ด์ผ ํ๋์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
๐ C++ ๋น๋ ๊ณผ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
์์ค ์ฝ๋ ์์ฑ, ์ ์ฒ๋ฆฌ, ์ปดํ์ผ, ์ด์ ๋ธ, ๋งํฌ, ์คํ ์์ผ๋ก ์ํ๋ฉ๋๋ค. ๋จผ์ , ์ฌ์ฉ์๊ฐ ์์ฑํ ์์ค์ฝ๋์ #์ผ๋ก ์์ํ๋ ์ ์ฒ๋ฆฌ๊ธฐ ๊ตฌ๋ฌธ์ ์ฒ๋ฆฌํฉ๋๋ค. ๊ทธ ๋ค์ ๊ณ ์์ค์ ์ธ์ด๋ฅผ ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ก ๋ฒ์ญํ๋ ์์ ์ ํฉ๋๋ค. ์ด์ ๋ธ ๋จ๊ณ์์๋ ์ด์ ๋ธ๋ฆฌ ํ์ผ์ ์ค๋ธ์ ํธ ํ์ผ๋ก ๋ง๋ค๊ณ ์ค๋ธ์ ํธ ํ์ผ์ ํฉ์น๊ณ , ๋งํฌ ๋จ๊ณ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐ๊ฒฐํด ์ฃผ๊ณ ์คํ ๊ฐ๋ฅํ ํ์ผ์ ์์ฑํด์ค๋๋ค.
๐ ์์ ๋ณต์ฌ์ ๊น์ ๋ณต์ฌ์ ์ฐจ์ด์ ๊ณผ ์ฐ์์์ ๋ํด ์ค๋ช ํด๋ณด์ธ์.
์์ ๋ณต์ฌ๋ ํ ๊ฐ์ฒด์ ๋ชจ๋ ๋ฉค๋ฒ ๋ณ์์ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ๋ณต์ฌํฉ๋๋ค. ๊น์ ๋ณต์ฌ๋ ๊ทธ ์ธ์ ํฌ์ธํฐ ๋ณ์๊ฐ ๊ฐ๋ฆฌํค๋ ๋ชจ๋ ๊ฐ์ฒด์ ๋ํด์๋ ์ํํฉ๋๋ค.
๐ ํฌ์ธํฐ์ ๋ฐฐ์ด์ ์ฐจ์ด๋ฅผ ๋งํด์ฃผ์ธ์.
๋ฐฐ์ด์ ๋ณ์ ์ ์ธ๊ณผ ํจ๊ป ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋งํผ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ๊ฐ์ง๋๋ค. ํฌ์ธํฐ๋ ์์ ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ๊ฐ์ง ์๊ณ ์ ์ฅํ ๊ณต๊ฐ์ด ์๋ ์์น๋ฅผ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒ์ง๋ฅผ ์ ์ฅํฉ๋๋ค.
ํฌ์ธํฐ์ ๋ฐฐ์ด์ ๋๋ค ๋ณ์ ์์ฒด๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒ์ง๋ฅผ ๋ปํ์ง๋ง, ๋ฐฐ์ด์ ํฌ์ธํฐ ์์์ฌ์ ๋ค๋ฅธ ๋ฒ์ง๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๊ณ , ํฌ์ธํฐ๋ ๋ณ์์ด๋ฏ๋ก ๋์
์ด ๊ฐ๋ฅํฉ๋๋ค.
ํฌ์ธํฐ ๋ณ์๋ ์ฆ๊ฐ ์ฐ์ฐ์๊ฐ ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ง, ๋ฐฐ์ด์ ์์์ด๋ฏ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ ์ ์ ๋ฐ์ธ๋ฉ๊ณผ ๋์ ๋ฐ์ธ๋ฉ?
๋ฐ์ธ๋ฉ์ ํจ์๊ฐ ํธ์ถ๋ ๋ ํจ์์ ์ฃผ์๋ฅผ ์ฐ๊ฒฐํด ์ฃผ๋ ๊ฒ์ ๋งํฉ๋๋ค.
์ ์ ๋ฐ์ธ๋ฉ์ ์ปดํ์ผ ์์ ์ ์ผ์ด๋๊ณ ํ๋ก๊ทธ๋จ ์คํ ๊ณผ์ ์์ ๋ณํ์ง ์๊ณ ์ ์ง๋๋ ๋ฐ์ธ๋ฉ์ด๋ฉฐ, ์ปดํ์ผ ์ ๊ฒฐ์ ๋๋ฏ๋ก ์๋๊ฐ ๋น ๋ฅด๊ณ ์๋ฌ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ๋จ์ ์ผ๋ก๋ ์ปดํ์ผ ์ดํ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ์ ์ด ์์ต๋๋ค.
๋์ ๋ฐ์ธ๋ฉ์ ๋ฐํ์ ์ค ๊ฒฐ์ ๋๋ฉฐ ์คํ ๊ณผ์ ์์ ๋ณ๊ฒฝ๋๋ ๋ฐ์ธ๋ฉ์ ๋งํฉ๋๋ค. ๊ฐ์ ํจ์ ํธ์ถ์ ์ค๋ฒ๋ผ์ด๋ฉ๋ ๊ฐ์ ํจ์๋ฅผ ๋์ ์ผ๋ก ์ฐพ์ ํธ์ถํ ๋ ์ฌ์ฉํ๋ฉฐ, ๋ฐํ์ ์ค ์์ ๋กญ๊ฒ ๋ฐ๋ ์ ์์ด ์ ์์ฑ์ด ๋์ง๋ง, ํ์
์ฒดํฌ๋ก ์ํ ์๋ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋์ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์ด๋ค ํฌ์ธํฐ์ ์ํด ์ ๊ทผ๋์๋์ง ์๊ด์์ด ์ฐธ์กฐ๋ ์ธ์คํด์ค์ ์ค์ ํด๋์ค์ ๋ฐ๋ผ ์ฌ์ ์ ๋ ํจ์๋ฅผ ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๐ rvalue, lvalue์ ์ฐจ์ด๋?
lvalue๋ ํ๋ก๊ทธ๋จ์ด ์ ๊ทผํ ์ ์๋ ์ฃผ์๊ฐ ์์ต๋๋ค. ๋ณ์ ๋ช , const ๋ณ์, ๋ฐฐ์ด ์์, lvalue๋ฅผ ์ฐธ์กฐ๋ฅผ ๋ฐํํ๋ ํจ์ ๋ฑ์ ํํ์์ด ์์ต๋๋ค. rvalue ํํ์์ ํ๋ก๊ทธ๋จ์์ ์ก์ธ์คํ ์ ์๋ ์ฃผ์๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.
๐ static cast, dynamic cast ์ฐจ์ด
์ ์ ์บ์คํธ๋ ํ ๋ณํ์ ๋ํ ํ์
์ ๋ฐํ์์ ํ์ธํ์ง ์๊ณ ์ปดํ์ผ ์ ์ ์ ์ผ๋ก ์ํํฉ๋๋ค. ๋์ ์บ์คํธ๋ ๋ฐํ์์ ์์ ๊ณ์ธต ๊ด๊ณ๋ฅผ ๊ฐ๋ก์ง๋ฅด๊ฑฐ๋ ๋ค์ด์บ์คํ
ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ ํด๋์ค ๊ฐ์ฒด์ ๋ํ ํฌ์ธํฐ๋ ๋ ํผ๋ฐ์ค ํ์
์ ์์ ํด๋์ค์ ํ์
์ผ๋ก ๋ณํํ ์ ์๊ณ nullptr์ด๊ฑฐ๋ ์์ธ๋ฅผ ๋ณด๊ณ ์คํจ๋ฅผ ํ๋ณํ ์ ์์ต๋๋ค. ๋ํ, ๋์ ์บ์คํธ๋ ๋คํ์ฑ์ ๋์ง ์๋ ๊ฐ์ฒด๊ฐ ๋ณํ์ ๋ถ๊ฐ๋ฅํ๊ณ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ ์ ์บ์คํธ๋ ์ ์ ์ผ๋ก ํ๋ณํ์ ํด๋ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋ ๊ฒ์ ์ด๋ฏธ ์ด๋ค ๊ฒ์ธ์ง ์๊ณ ์์ ๊ฒฝ์ฐ์ด๋ฉฐ, ๋์ ์บ์คํธ๋ ๋์ ์ผ๋ก ํ๋ณํ์ ์๋ํ๋ค๋ ๊ฒ์ ๊ทธ๊ฒ์ ํ์
์ ๋ฐ๋์ ์์๋ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ํด๋น ํ์
์ ๋ํด ๋ช
ํํ ์๊ณ ์๋ค๋ฉด ์ ์ ๋ณํ์ ์จ ๋น์ฉ์ ์ ์ฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๐ class์ struct์ ์ฐจ์ด?
ํด๋์ค๋ ๊ธฐ๋ณธ ํ์ ์๋ก private์ด๋ฉฐ, ๋ฉค๋ฒ ๋ณ์ ์ธ์๋ ๋ฉค๋ฒ ํจ์๋ฅผ ๊ฐ์ง๋๋ค. ๋ํ ์์์ ํ ์ ์๋ ๋ฐ๋ฉด์, ๊ตฌ์กฐ์ฒด๋ ๋ณ์๋ค์ ๋ชจ์๋ค๋ก ๋ฉค๋ฒ ํจ์๋ฅผ ๊ฐ์ง ์ ์๊ณ ๊ธฐ๋ณธ ํ์ ์๋ public์ ๋๋ค.
๐ ํ์ด์ฌ๊ณผ C++์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
ํ์ด์ฌ๊ณผ C++ ๋ชจ๋ ๊ฐ์ฒด์งํฅ ์ธ์ด ์ ๋๋ค. ํ์ด์ฌ์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ก ์์ค ์ฝ๋๋ฅผ ํ์ค ํ์ค์ฉ ์ฝ์ด ๋ช ๋ น์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ๋ฌ ์ธ์ด๋ณด๋ค ์๋๊ฐ ๋๋ฆฝ๋๋ค. C++์ ์ปดํ์ผ๋ฌ ์ธ์ด์ด๋ฉฐ ์ฝ๋๋ฅผ ํ๋ฒ์ ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ก ๋ฒ์ญํ ํ๋ฒ์ ์คํํ๋ ์ธ์ด์ ๋๋ค.
๐ dynamic linking, static linking์ ์ฐจ์ด๋?
linking์ ์ฌ๋ฌ ๊ฐ์ ์ฝ๋์ ๋ฐ์ดํฐ(๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ฅผ ์ฐ๊ฒฐํด ์คํํ ์ ์๋ ํ๋์ ํ์ผ๋ก ๋ง๋๋ ์์
์ ๋งํฉ๋๋ค.
static linking์ ์คํํ์ผ์ ์์ฑํ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ด ํฌํจ์์ผ์ exe ํ์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ง์ฝ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ A๋ฅผ ์ฌ์ฉํ ๋, ํด๋น ํ๋ก๊ทธ๋จ์ ์ค๋ธ์ ํธ ํ์ผ ๊ฐ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ A์ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. ์ค๋ณต์ด ๋ฐ์ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ญ๋นํ๊ฒ ๋ฉ๋๋ค. ๋ํ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ณ๊ฒฝ์ด ์๊ธฐ๋ฉด ๋ณ๊ฒฝ ์ ์ฉ์ ์ํด ๋ค์ ์ปดํ์ผํ์ฌ ๋งํน์ ํด์ผํฉ๋๋ค. ๋ชจ๋ ์ฝ๋๋ ํ๋์ ์คํ ๋ชจ๋์ ๋ด๊ธฐ๊ธฐ ๋๋ฌธ์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ์ง ์๊ณ ๋์ ๋งํน ๋ฐฉ์๋ณด๋ค ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
dynamic linking์ ์ค๋ธ์ ํธ ํ์ผ์ ๋ง๋ค ๋, ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ณต์ฌํ์ง ์๊ณ ํด๋น ์ฃผ์๋ง ๊ฐ์ง๊ณ ์๋ค๊ฐ ๋ฐํ์์ ์คํ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ๋ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฃผ์๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ์์
๋๋ค. ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ A๋ฅผ ์ฌ์ฉํ๋ค ํด๋, A์ ์ฃผ์ ํ๋๋ง ๊ฐ์ง๊ณ ์์ผ๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ค๋ธ์ ํธ ํ์ผ์ ํฌ๊ธฐ๊ฐ ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ ์ ์๊ฒ ๋ฉ๋๋ค. ๋งค๋ฒ ์ฃผ์๋ก ๊ฐ์ผํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ์ฌ ์ ์ ๋งํน๋ณด๋ค ๋๋ฆฝ๋๋ค. ๋ํ, ๋ถ์ผ์น ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ํ๋ฉด ํ๋ก๊ทธ๋จ์์ A๋ฅผ ๋์ ๋งํน ๋ฐฉ์์ผ๋ก ํ ๋, A๊ฐ ์ ๊ฑฐ๋ ๊ฒฝ์ฐ ๋ ์ด์ ์ฐธ์กฐํ ํจ์๊ฐ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
https://velog.io/@mardi2020/C-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EC%A0%95%EB%A6%AC
C++ ๋ฉด์ ์ง๋ฌธ ์ ๋ฆฌ
velog.io