์ปดํ์ผ (Compile) vs ์ธํฐํ๋ฆฟ (Interpret)
๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐ์ ํ ๋ ์ฌ์ฉํ๋ ๊ณ ๊ธ ์ธ์ด(Java, c, Python ๋ฑ)๋ฅผ ์ฌ์ฉํ์ง๋ง ์ปดํจํฐ๋ 0๊ณผ 1๋ก ์ฐ์ฌ์ง ๋ฐ์ด๋๋ฆฌ๋ง ์ดํดํ ์ ์๋ค. ๋ฐ๋ผ์ ๊ณ ๊ธ ์ธ์ด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก ๋ณํํด์ผ ํ๋๋ฐ, ํ๋ก๊ทธ๋จ ์ธ์ด๋ฅผ ํด์ํ๊ณ ์คํ์ํค๋ ๋ฐฉ๋ฒ์ ๋ํ์ ์ผ๋ก ์ปดํ์ผ๊ณผ ์ธํฐํ๋ฆฟ ๋ฐฉ์์ด ์๋ค.
- ์ปดํ์ผ (Compile)
- ๋ฐํ์ ์ด์ ์ ์์ค ์ฝ๋๋ฅผ ๊ฒ์ฌํ๊ณ ๊ธฐ๊ณ์ด๋ก ํด์ํ๋ ๋ฐฉ์์ด๋ค.
- ์ ์ฒด ์ฝ๋๋ฅผ ๊ฒ์ฌํ๊ณ ์คํํ๊ธฐ ๋๋ฌธ์ ์คํ ์ ์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ ์ ์๋ค.
- ๊ตฌ๋ ์๊ฐ์ ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง, ์ดํ์๋ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์ํ๋ค.
- ๊ตฌ๋ ์ ์์คํ ์ผ๋ก๋ถํฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ์ ์ฌ์ฉํ๋ค.
- ๋๊ฒ ์ปดํ์ผ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฐ๋ก ๊ธฐ๊ณ์ด๋ก ์ ํ๋๊ธฐ ๋๋ฌธ์ OS ๋ฐ ํ๊ฒฝ์ ์ข ์์ ์ด๋ค.
- ๋ํ์ ์ธ ์ปดํ์ผ ์ธ์ด๋ C/C++ ๋ฑ์ด ์๋ค.
- ์ธํฐํ๋ฆฟ (Interpret)
- ๋ฐํ์ ์ดํ์ ํ ํ์ฉ ์ฝ์ด๊ฐ๋ฉฐ ํด์ํ๋ ๋ฐฉ์์ด๋ค.
- ๋ฐํ์์ ์ฆ์ ํด์ํ๊ธฐ ๋๋ฌธ์ ์คํ ์๊ฐ์ ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ์ค์๊ฐ ๋๋ฒ๊น ๋ฐ ์ฝ๋ ์์ ์ด ๊ฐ๋ฅํ๋ค.
- ํ ์ค์ฉ ์คํํ๋ค๊ฐ ์ค๋ฅ๊ฐ ๋๋ฉด ์ค์ง๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณ๋๋ก ํ ๋น ๋ฐ์ง ์๊ณ ํ์ํ ๋ ํ ๋นํ์ฌ ์ฌ์ฉํ๋ค.
- ๋ํ์ ์ธ ์ธ์ด๋ Javascript, Python, Ruby ๋ฑ์ด ์๋ค.
๋ณดํต ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ ๋ฐฉ์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ง๋ง ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ ์ธ์ด๋ ์๋ค. ์๋ฅผ ๋ค์ด ์๋ฐ๋ javac ๋ก ์ปดํ์ผ ํ๊ณ java ๋ก ์คํ ์ ์ค๊ฐ ์ธ์ด(.class ํ์ผ)๋ฅผ ํ ์ค์ฉ ์๋ฐ ์ธํฐํ๋ฆฌํฐ๊ฐ ๋ฒ์ญํ๊ธฐ์ ์ปดํ์ผ ์ธ์ด์ด์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๋ค.
๋ฐํ์ (Runtime) vs ์ปดํ์ผ ํ์ (Compile Time)
๊ฐ๋ฐ์๊ฐ ๊ณ ๊ธ ์ธ์ด๋ก ์์ฑํ ์์ค์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ณํํ์ฌ ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ง๋๋ ๊ณผ์ ์ ์ปดํ์ผ, ์ด๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ์์ ์ํด ๋์๋ ๋ ๋ฐํ์์ด๋ผ๊ณ ํ๋ค.
- ์ปดํ์ผ ์ค๋ฅ
์ปดํ์ผ ์ ์์ค ์ฝ๋๋ฅผ ๋จผ์ ํ์ธํ๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ์์ผ๋ฉด ์ปดํ์ผ์ ์คํจํ๋๋ฐ, ์ด๋ฐ ์ค๋ฅ์๋ ์ ํ์ค ์๋ฌ์ ํ์ผ ์ฐธ์กฐ ๊ฐ์ ์ค๋ฅ๊ฐ ํด๋น๋๋ค.
- ๋ฐํ์ ์ค๋ฅ
์ปดํ์ผ์ ๋ฌธ์ ์์ด ๋์๋๋ฐ ์คํ ์ค ์์ํ์ง ๋ชปํ ์ค๋ฅ๋ก ๋์ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด ๋์ ์ฐธ์กฐ ํ๊ฑฐ๋ ์๋ชป๋ ์๋ฃํ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฑ์ด ์ด์ ํด๋น๋๋ค.
์ฐธ๊ณ ์๋ฃ ๋ฐ ์ถ์ฒ ๐โ๏ธ
'๊ฐ๋ฐ ํ > ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ณธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git ์ฌ์ฉ๋ฒ (0) | 2022.03.11 |
---|
๋๊ธ