๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ํŒ/ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ

์ปดํŒŒ์ผ๊ณผ ์ธํ„ฐํ”„๋ฆฟ / ๋Ÿฐํƒ€์ž„

by 1mj 2022. 3. 21.

์ปดํŒŒ์ผ (Compile) vs ์ธํ„ฐํ”„๋ฆฟ (Interpret)

๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ๊ธ‰ ์–ธ์–ด(Java, c, Python ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” 0๊ณผ 1๋กœ ์“ฐ์—ฌ์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋งŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณ ๊ธ‰ ์–ธ์–ด๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€ํ™˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ ๋Œ€ํ‘œ์ ์œผ๋กœ ์ปดํŒŒ์ผ๊ณผ ์ธํ„ฐํ”„๋ฆฟ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

 

- ์ปดํŒŒ์ผ (Compile)

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

 

- ์ธํ„ฐํ”„๋ฆฟ (Interpret)

  • ๋Ÿฐํƒ€์ž„ ์ดํ›„์— ํ•œ ํ–‰์”ฉ ์ฝ์–ด๊ฐ€๋ฉฐ ํ•ด์„ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ๋Ÿฐํƒ€์ž„์— ์ฆ‰์‹œ ํ•ด์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์‹œ๊ฐ„์€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ ์‹ค์‹œ๊ฐ„ ๋””๋ฒ„๊น… ๋ฐ ์ฝ”๋“œ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ํ•œ ์ค„์”ฉ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด ์ค‘์ง€๋œ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณ„๋„๋กœ ํ• ๋‹น ๋ฐ›์ง€ ์•Š๊ณ  ํ•„์š”ํ•  ๋•Œ ํ• ๋‹นํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด๋Š” Javascript, Python, Ruby ๋“ฑ์ด ์žˆ๋‹ค.

 

๋ณดํ†ต ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋‘ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž๋ฐ”๋Š” javac ๋กœ ์ปดํŒŒ์ผ ํ•˜๊ณ  java ๋กœ ์‹คํ–‰ ์‹œ ์ค‘๊ฐ„ ์–ธ์–ด(.class ํŒŒ์ผ)๋ฅผ ํ•œ ์ค„์”ฉ ์ž๋ฐ” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ๋ฒˆ์—ญํ•˜๊ธฐ์— ์ปดํŒŒ์ผ ์–ธ์–ด์ด์ž ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๋‹ค.

 


๋Ÿฐํƒ€์ž„ (Runtime) vs ์ปดํŒŒ์ผ ํƒ€์ž„ (Compile Time)

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

 

- ์ปดํŒŒ์ผ ์˜ค๋ฅ˜

์ปดํŒŒ์ผ ์‹œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋จผ์ € ํ™•์ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ์žˆ์œผ๋ฉด ์ปดํŒŒ์ผ์„ ์‹คํŒจํ•˜๋Š”๋ฐ, ์ด๋Ÿฐ ์˜ค๋ฅ˜์—๋Š” ์‹ ํƒ์Šค ์—๋Ÿฌ์™€ ํŒŒ์ผ ์ฐธ์กฐ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ํ•ด๋‹น๋œ๋‹ค.

 

- ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜

์ปดํŒŒ์ผ์€ ๋ฌธ์ œ ์—†์ด ๋˜์—ˆ๋Š”๋ฐ ์‹คํ–‰ ์ค‘ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ์˜ค๋ฅ˜๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋„์„ ์ฐธ์กฐ ํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋“ฑ์ด ์ด์— ํ•ด๋‹น๋œ๋‹ค.

 

 

 

์ฐธ๊ณ ์ž๋ฃŒ ๋ฐ ์ถœ์ฒ˜ ๐Ÿ™‡‍โ™‚๏ธ

https://jins-dev.tistory.com/222

'๊ฐœ๋ฐœ ํŒ > ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Git ์‚ฌ์šฉ๋ฒ•  (0) 2022.03.11

๋Œ“๊ธ€