CS๊ณต๋ถ€/์ปดํ“จํ„ฐ ๊ตฌ์กฐ&์šด์˜์ฒด์ œ

[ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ปดํ“จํ„ฐ ๊ตฌ์กฐ+์šด์˜์ฒด์ œ]03. ์†Œ์Šค์ฝ”๋“œ์™€ ๋ช…๋ น์–ด ๋ณ€ํ™˜

alswlfl 2026. 5. 26. 00:48

๊ณ ๊ธ‰ ์–ธ์–ด์™€ ์ €๊ธ‰ ์–ธ์–ด

์ปดํ“จํ„ฐ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋Š” '๊ณ ๊ธ‰ ์–ธ์–ด'์ด๊ณ , ๊ณ ๊ธ‰ ์–ธ์–ด๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•  ๋•Œ์—๋Š” '์ €๊ธ‰ ์–ธ์–ด'๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰๋œ๋‹ค.

  • ๊ณ ๊ธ‰ ์–ธ์–ด: ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ๊ณ  ์“ฐ๊ธฐ ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด
    • C/C++, Java, Python ๋“ฑ
  • ์ €๊ธ‰ ์–ธ์–ด(=๋ช…๋ น์–ด): ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด
    • ๊ธฐ๊ณ„์–ด: 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ๋ช…๋ น์–ด๋กœ ๊ตฌ์„ฑ๋œ ์ €๊ธ‰ ์–ธ์–ด(2์ง„์ˆ˜ ํ˜น์€ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„)
    • ์–ด์…ˆ๋ธ”๋ฆฌ์–ด: 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ๊ธฐ๊ณ„์–ด๋ฅผ ์ฝ๊ธฐ ํŽธํ•œ ํ˜•ํƒœ๋กœ ๋ฒˆ์—ญํ•œ ์ €๊ธ‰ ์–ธ์–ด
๊ธฐ๊ณ„์–ด ์–ด์…ˆ๋ธ”๋ฆฌ์–ด
0101 0101 push rbp 
0101 1101 pop rbp
1100 0011 ret

 

๊ณ ๊ธ‰์–ธ์–ด๊ฐ€ ์ €๊ธ‰์–ธ์–ด๋กœ ๋ณ€ํ™˜๋˜๋Š” ๋ฐฉ์‹

1) ์ปดํŒŒ์ผ ๋ฐฉ์‹

  • ์ปดํŒŒ์ผ ์–ธ์–ด(์ปดํŒŒ์ผ): ๊ณ ๊ธ‰ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๋กœ, ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ์‹คํ–‰ํ•œ๋‹ค.
    • ์†Œ์Šค ์ฝ”๋“œ ์ปดํŒŒ์ผ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ ์ „์ฒด๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์Œ

์ถœ์ฒ˜)https://www.youtube.com/watch?v=kFWP6sFKyp0

 

  • ์ปดํŒŒ์ผ ๊ณผ์ •: ์ปดํŒŒ์ผ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ €๊ธ‰ ์–ธ์–ด๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ณผ์ •
  • ๋ชฉ์  ์ฝ”๋“œ(object code): ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ ์ €๊ธ‰ ์–ธ์–ด

2) ์ธํ„ฐํ”„๋ฆฌํŠธ ๋ฐฉ์‹

  • ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด: ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ํ•œ ์ค„ ์”ฉ ์‹คํ–‰๋˜๋ฉฐ, ์†Œ์Šค ์ฝ”๋“œ ์ „์ฒด๊ฐ€ ์ €๊ธ‰ ์–ธ์–ด๋กœ ๋ณ€ํ™˜๋˜๊ธฐ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๊ฐ€ ์—†์Œ
    • ์†Œ์Šค ์ฝ”๋“œ ์ธํ„ฐํ”„๋ฆฌํŠธ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์ „๊นŒ์ง€์˜ ์ฝ”๋“œ๋Š” ์‹คํ–‰๋จ

๋ช…๋ น์–ด์˜ ๊ตฌ์กฐ

๋ช…๋ น์–ด = ๋ฌด์—‡์„ ๋Œ€์ƒ์œผ๋กœ, ๋ฌด์—‡์„ ์ˆ˜ํ–‰ํ•ด๋ผ = ์—ฐ์‚ฐ ์ฝ”๋“œ(์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ) + ์˜คํผ๋žœ๋“œ(์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ or ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜)

์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ ํ˜น์€ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜
๋”ํ•ด๋ผ 100๊ณผ 120์„
๋นผ๋ผ ๋ฉ”๋ชจ๋ฆฌ 32๋ฒˆ์ง€ ์•ˆ์˜ ๊ฐ’๊ณผ ๋ฉ”๋ชจ๋ฆฌ 33๋ฒˆ์ง€ ์•ˆ์˜ ๊ฐ’์„
์ €์žฅํ•ด๋ผ 10์„ ๋ฉ”๋ชจ๋ฆฌ 128๋ฒˆ์ง€์—

 

์˜คํผ๋žœ๋“œ

์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ or ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜

  • ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜๋ฅผ ๋” ์ž์ฃผ ์ €์žฅํ•จ. ๋”ฐ๋ผ์„œ ์˜คํผ๋žœ๋“œ ํ•„๋“œ๋ฅผ ์ฃผ์†Œ ํ•„๋“œ๋ผ๊ณ  ๋ถ€๋ฆ„
  • ์˜คํผ๋žœ๋“œ ๊ฐœ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ , ํ•œ ๊ฐœ๋„ ์—†์„ ์ˆ˜๋„ ์žˆ์Œ

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

์—ฐ์‚ฐ ์ฝ”๋“œ

์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ

  • ์—ฐ์‚ฐ ์ฝ”๋“œ์˜ ์ข…๋ฅ˜์™€ ์ƒ๊น€์ƒˆ๋Š” CPU ๋งˆ๋‹ค ๋‹ค๋ฆ„
  • ๊ณตํ†ต์ ์ธ ์—ฐ์‚ฐ ์ฝ”๋“œ ์ข…๋ฅ˜์—๋Š” ํฌ๊ฒŒ 4๊ฐ€์ง€ ์กด์žฌ
    1. ๋ฐ์ดํ„ฐ ์ „์†ก: MOVE(๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ๋ผ), STORE(๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ด๋ผ), LOAD/FETCH(๋ฉ”๋ชจ๋ฆฌ์—์„œ CPU๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€๋ผ), PUSH(์Šคํƒ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ผ), POP(์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€๋ผ)
    2. ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ: ADD/SUBTRACT/MULTIPLY/DIVIDE(๋ง์…ˆ/๋บ„์…ˆ/๊ณฑ์…ˆ/๋‚˜๋ˆ—์…ˆ์„ ์ˆ˜ํ–‰ํ•˜๋ผ), INCREMENT/DECREMENT(์˜คํผ๋žœ๋“œ์— 1์„ ๋”ํ•˜๋ผ/์˜คํผ๋žœ๋“œ์— 1์„ ๋นผ๋ผ), AND/OR/NOT(AND/OR/NOT ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ผ), COMPARE(๋‘ ๊ฐœ์˜ ์ˆซ์ž ๋˜๋Š” TRUE/FALSE ๊ฐ’์„ ๋น„๊ตํ•˜๋ผ)
    3. ์ œ์–ด ํ๋ฆ„ ๋ณ€๊ฒฝ: JUMP(ํŠน์ • ์ฃผ์†Œ๋กœ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์˜ฎ๊ฒจ๋ผ), CONDITIONAL JUMP(์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•  ๋•Œ ํŠน์ • ์ฃผ์†Œ๋กœ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์˜ฎ๊ฒจ๋ผ), HALT(ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ๋ฉˆ์ถฐ๋ผ), CALL(๋˜๋Œ์•„์˜ฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•œ ์ฑ„ ํŠน์ • ์ฃผ์†Œ๋กœ ์‹คํ–‰ ์ˆœ์„œ๋กœ ์˜ฎ๊ฒจ๋ผ), RETURN(CALL์„ ํ˜ธ์ถœํ•  ๋•Œ ์ €์žฅํ–ˆ๋˜ ์ฃผ์†Œ๋กœ ๋Œ์•„๊ฐ€๋ผ)
    4. ์ž…์ถœ๋ ฅ ์ œ์–ด: READ/INPUT(ํŠน์ • ์ž…์ถœ๋ ฅ ์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋ผ), WRITE/OUTPUT(ํŠน์ • ์ž…์ถœ๋ ฅ ์žฅ์น˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์จ๋ผ), START IO(์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์‹œ์ž‘ํ•˜๋ผ), TEST IO(์ž…์ถœ๋ ฅ ์žฅ์น˜์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ผ)

๋ช…๋ น์–ด ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹

๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” '๋ช…๋ น์–ด ๋‚ด์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ์ œํ•œ'๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

์˜คํผ๋žœ๋“œ ์ข…๋ฅ˜๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์˜คํผ๋žœ๋“œ์— ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ฆ

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ๋ฐ›์ง€ ์•Š๋„๋ก ์˜คํผ๋žœ๋“œ์— ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜์—ฌ ํ‘œํ˜„ํ•จ

์œ ํšจ ์ฃผ์†Œ(effective address): ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜

 

๋ช…๋ น์–ด ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(addressing modes): ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•, ์ฆ‰ ์œ ํšจ ์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹ ์กด์žฌํ•จ

  • ์ฆ‰์‹œ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(immediate addressing mode): ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์˜คํผ๋žœ๋“œ ํ•„๋“œ์— ์ง์ ‘ ๋ช…์‹œ
    • ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ์˜ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹
    • ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋น ๋ฆ„(ํ•ด๋‹น ์ฃผ์†Œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ๊ณผ์ • ์ˆ˜ํ–‰ X)

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

  • ์ง์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(direct addressing mode): ์˜คํผ๋žœ๋“œ ํ•„๋“œ์— ์œ ํšจ ์ฃผ์†Œ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋ช…์‹œ
    • ์œ ํšจ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ์—ฐ์‚ฐ ์ฝ”๋“œ๋งŒํผ ์ค„์–ด๋“ฆ

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

  • ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(indirect addressing mode): ์˜คํผ๋žœ๋“œ ํ•„๋“œ์— ์œ ํšจ ์ฃผ์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋ช…์‹œ
    • ์•ž์„  ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹๋“ค์— ๋น„ํ•ด ์†๋„๊ฐ€ ๋А๋ฆผ

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

  • ๋ ˆ์ง€์Šคํ„ฐ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(register addressing mode): ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๋ ˆ์ง€์Šคํ„ฐ ๋ช…์‹œ
    • ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์†๋„๋ณด๋‹ค ๋ ˆ์ง€์Šคํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ๋น ๋ฆ„

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

 

  • ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(register indirect addressing mode): ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ
    • ๊ทธ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•œ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์˜คํผ๋žœ๋“œ ํ•„๋“œ์— ๋ช…์‹œ

์ถœ์ฒ˜) https://www.youtube.com/watch?v=kFWP6sFKyp0

 


C ์–ธ์–ด์˜ ์ปดํŒŒ์ผ ๊ณผ์ •

C์–ธ์–ด ์†Œ์Šค ์ฝ”๋“œ(test.c) → ์ „์ฒ˜๋ฆฌ๊ธฐ(preprocessor)์ปดํŒŒ์ผ๋Ÿฌ(compiler)์–ด์…ˆ๋ธ”๋Ÿฌ(assembler)๋ง์ปค(linker) → ์‹คํ–‰ํŒŒ์ผ(test.exe)

 

1) ์ „์ฒ˜๋ฆฌ ๊ณผ์ •(preprocessing)

  • ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ปดํŒŒ์ผํ•˜๊ธฐ ์ „์— ์ฒ˜๋ฆฌํ•  ์ž‘์—…๋“ค
    • ์™ธ๋ถ€์— ์„ ์–ธ๋œ ๋‹ค์–‘ํ•œ ์†Œ์Šค ์ฝ”๋“œ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํ•จ(ex: #include)
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋œ ๋งคํฌ๋กœ ๋ณ€ํ™˜(ex: #define)
    • ์ปดํŒŒ์ผํ•  ์˜์—ญ ๋ช…์‹œ(ex: #if, #ifdef, ...)

2) ์ปดํŒŒ์ผ ๊ณผ์ •(compiling)

  • ์ „์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ ๋˜์–ด๋„ ์—ฌ์ „ํžˆ ์†Œ์Šค ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ „์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ €๊ธ‰ ์–ธ์–ด(์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •

3) ์–ด์…ˆ๋ธ”๋Ÿฌ ๊ณผ์ •(assembling)

  • ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •
  • ๋ชฉ์  ์ฝ”๋“œ(object code)๋ฅผ ํฌํ•จํ•˜๋Š” ๋ชฉ์  ํŒŒ์ผ์ด ๋จ
๋ชฉ์  ํŒŒ์ผ vs ์‹คํ–‰ ํŒŒ์ผ
๋ชฉ์  ํŒŒ์ผ๊ณผ ์‹คํ–‰ ํŒŒ์ผ์€ ๋‘˜ ๋‹ค ๊ธฐ๊ณ„์–ด๋กœ ์ด๋ฃจ์–ด์ง„ ํŒŒ์ผ์ด์ง€๋งŒ, ๋‹ค๋ฅด๋‹ค!
๋ชฉ์  ํŒŒ์ผ์€ ๋งํ‚น(linking)์„ ๊ฑฐ์นœ ์ดํ›„์— ์‹คํ–‰ ํŒŒ์ผ์ด ๋œ๋‹ค.

 

4) ๋งํ‚น(linking)

  • ํ•œ ํŒŒ์ผ์—์„œ ๋‹ค๋ฅธ ํŒŒ์ผ์— ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ณผ์ •
    ์ฆ‰, ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ชฉ์  ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ๊ณผ์ •