
์ฌ์ง ์ถ์ฒ ย ย ย ย ย ย ๋์ ๊ตฌ๋งค
๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์
๋ฌธ | ์ด์ ํ๋ก์ ์ง์ | ์์ฌ์ ์ฎ๊น ์ฑ
์ ์ฝ๊ณ ์์ฑํ์์ต๋๋ค.
์ด ์ฑ ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ ์๋ฆฌ์ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ๋ค์ ์์ฃผ ์ฝ๊ฒ ์๋ ค์ฃผ๋ ์ฑ ์ ๋๋ค. ์ด ์ฑ ๋๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค๋ฅผ ์ดํดํ ์ ์๊ฒ ๋์๊ณ , ์ด๋ฅผ ์ด์ฉํ์ฌ ์น ๊ฐ๋ฐ๋ ํ ์ ์๊ฒ ๋์์ต๋๋ค. ๊ฐ๋ ฅ์ถ์ฒํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์.
์ปดํจํฐ๋ ๊ธฐ๊ณ์ด๋ง ์ดํดํ ์ ์์ด์. ํ์ง๋ง ๊ธฐ๊ณ์ด๋ ์ฌ๋์ด ์ดํดํ๊ธฐ๊ฐ ์ฝ์ง ์์ฃ . ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋์ด ์ดํดํ ์ ์๋ ์ธ์ด๋ก ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์ผ๋ฉฐ, ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ๋์ด ์ปดํจํฐ๊ฐ ์คํํ ์ ์๋๋ก ๋ง๋ค์ด์ ธ์.
์์ค ์ฝ๋๋ฅผ ์คํํ๊ธฐ์ ์์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ํ์๋ฅผ ์ปดํ์ผ์ด๋ผ๊ณ ํ๋ฉฐ, ์ปดํ์ผ์ ์ํํ๋ ์ํํธ์จ์ด๋ฅผ ์ปดํ์ผ๋ฌ๋ผ๊ณ ํด์. ์์ค ์ฝ๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ํ๋๋ก ๋ฌถ์ด์ ์ปดํ์ผ ํ ํ์ ์คํํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ปดํ์ผ ์ธ์ด๋ผ๊ณ ํด์.
์ปดํ์ผ ์ธ์ด๋ก ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ ํ๋ ๋ฐ์๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง๋ง ์คํ๋๋ ์๋๋ ๋นจ๋ผ์.
( java c c++ )
๋ฐ๋ฉด์ ํ๋ก๊ทธ๋จ์ ํ ์ค๋ง๋ค ๊ธฐ๊ฒ์ด๋ก ๋ฒ์ญํด์ ์คํํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ผ๊ณ ํด์.
ํ๋ก๊ทธ๋จ์ ๋ฒ์ญํด์ ์คํ์ํค๋ ์ํํธ์จ์ด๋ฅผ ์ธํฐํ๋ฆฌํฐ๋ผ๊ณ ํด์.
์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ก ์คํํ ์ ์๊ณ ๋์์ ํ์ธํด ๊ฐ๋ฉด์ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ด์
๋ฐ๋ฉด์ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ํ ์ค ํ ์ค ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ฉด์ ์คํํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์ธ์ด๋ณด๋ค ์ฒ๋ฆฌ ์๋๊ฐ ๋๋ฆฌ๋ค๋ ๋จ์ ์ด ์์ด์
( JS, python, ruby )
ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๊ฐ๋ ๋ฐฉ์์ ๋ฐ๋ผ ์ ์ฐจ๋ฅผ ์์๋๋ก ์์ฑํด ๋๊ฐ๋ ์ ์ฐจ์ ์ธ์ด, ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๋ฐ์ดํฐ์ ์ ์ฐจ๋ฅผ ํ๋๋ก ๋ฌถ์ด ๊ฐ์ฒด ๋จ์๋ก ๊ด๋ฆฌํ๋ ๊ฐ์ฒด ์งํฅ ์ธ์ด, ํ๋ก๊ทธ๋จ์ ํจ์๋ก ์กฐํฉํ์ฌ ๊ตฌํํด ๋๊ฐ๋ ํจ์ํ ์ธ์ด, ๋ฐ์ดํฐ ์ฌ์ด์ ๊ด๊ณ์ ๋ ผ๋ฆฌ๋ฅผ ์ค๋ช ํด ๋๊ฐ๋ ๋ ผ๋ฆฌํ ์ธ์ด ๋ฑ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ถ๋ฅํ ์ ์์ด์.
์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋ง๋๋ก ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ ์๊ณ ๋ฆฌ์ฆ ํํ ๋ฅ๋ ฅ์ ๊ฐ์ถ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์.
- ์ธํฐํ๋ฆฌํฐ ์ธ์ด
์ต๊ทผ ์น ๋ธ๋ผ์ฐ์ ๋๋ถ๋ถ์๋ ์คํ ์๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ปดํ์ผํ๋ JIT ์ปดํ์ผ๋ฌ๊ฐ ๋ด์ฅ๋์ด ์์ด ์คํ ์๋๊ฐ ๋งค์ฐ ๋นจ๋ผ์ก์ด์.
- ๋์ ํ๋กํ ํ์ ๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ์ธ์ด
c++์ java ๋ฑ์ ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํด๋์ค ๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ์ธ์ด์์. ๋ฐ๋ฉด์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ํด๋์ค๊ฐ ์๋ ํ๋กํ ํ์
์ ์์ํ๋ ํ๋กํ ํ์
๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ์ธ์ด์์. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ์๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ์ ์์ด์.
- ๋์ ํ์ ์ธ์ด
java๋ ์คํ๋๊ธฐ ์ ์ ๋ณ์ ํ์
์ด ๊ฒฐ์ ๋๋ ์ ์ ํ์
์ธ์ด์์. ๋ฐ๋ฉด์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ณ์ ํ์
์ด ์์ด์. ๋ฐ๋ผ์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋์ค์ ๋ณ์์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ํ์
์ด ๋์ ์ผ๋ก ๋ฐ๋ ์ ์์ด์.
- ํจ์๊ฐ ์ผ๊ธ ๊ฐ์ฒด์์
์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๋ ๊ฐ์ฒด์ด๋ฉฐ, ํจ์์ ํจ์๋ฅผ ์ธ์๋ก ๋๊ธธ ์ ์์ด์. ์ด๊ฒ์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๊ฐ ์ผ๊ธ ๊ฐ์ฒด์ธ ์ด์ ์์. ์ด ํน์ฑ์ ํ์ฉํ๋ฉด ๊ณ ์ฐจ ํจ์๋ฅผ ๊ตฌํํ ์ ์์ด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํด์ ธ์.
- ํจ์๊ฐ ํด๋ก์ ๋ฅผ ์ ์ํด์
์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๋ ํด๋ก์ ๋ฅผ ์ ์ํด์. ํด๋ก์ ๋ก ๋ณ์๋ฅผ ์๋ํ๊ฑฐ๋ ์์์ฑ์ ๋ณด์ฅํ๋ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ด์.
- ECMAScript(์ฝ์ด ์ธ์ด)
- ํด๋ผ์ด์ดํธ ์ธก์ ๊ณ ์ ํ ๊ธฐ์ ์์
์น ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๊ณ ํด์.
ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ๋ ECMAScript๊ฐ ๊ท์ ํ ์ฝ์ด ์ธ์ด์ ์น ๋ธ๋ผ์ฐ์ ์ API๋ก ๊ตฌ์ฑ๋์ด ์์ด์.
์น ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ API๋
- ์๋ฒ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ณ ์ ํ ๊ธฐ์ ์์
์๋ฒ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ์๋
๊ณผ ๊ฐ์ ๊ตฌํ์ฒด๊ฐ ์์ด์