Java๋ก ๊ฐ๋ฐ์ ํ๊ณ ์๋ค๋ฉด
์ด๋ป๊ฒ Java๊ฐ ๋์๊ฐ๋์ง ์์์ผํ๋ค.
์ด๋ฒ ํฌ์คํ ์ผ๋ก ํ ๋ฒ ์์๋ณด์!

1. JVM_ Java Virtual Machine
- ์๋ฐ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์คํํ๋ ๊ฐ์๋จธ์ ์ด๋ค.
- ์ปดํ์ผ๋ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์ด์์ฒด์ (OS)๊ฐ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ํด์ํ๊ณ ์คํํ๋ ์ญํ ์ ํ๋ค.
- ์๋ฐ๋ JVM์ผ๋ก ์ธํด ํ ๋ฒ ์์ฑํ๋ฉด ์ด๋์๋ ์ง ์คํ๋๋ ํ๋ซํผ ๋ ๋ฆฝ์ฑ์ ๊ฐ์ง๋ค.
- JVM์ ์ค์ ํ๋์จ์ด๊ฐ ์๋ ์ํํธ์จ์ด๋ก ๊ตฌํ๋ ์ถ์์ ์ธ ๊ธฐ๊ณ์ด๋ค.
- JRE๋ JDK ๋ด๋ถ์ ํฌํจ๋์ด ์คํ์ ๋ด๋นํ๋ ๊ฐ์ฅ ์์ ๋จ์์ ๊ตฌ์ฑ์์์ด๋ค.
2. JRE_ Java Runtime Environment
- JRE๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด ํ์ํ ์ต์ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(rt, jar ๋ฑ)์ JVM์ ๋ฌถ์ด ๋์ ์คํ ํ๊ฒฝ์ด๋ค.
- ๋ณดํต ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๊ธฐ๋ง ํ๋ ์ผ๋ฐ ์ฌ์ฉ์๋ ์๋ฒ ์์คํ ์ ์ฃผ๋ก ์ค์น๋๋ค.
- JDK์ ์ผ๋ถ๋ก ํฌํจ๋์ด ์์ผ๋ฉฐ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์ ์ธํ ์คํ์ ํนํ๋ ๋๊ตฌ๋ค๋ก๋ง ๊ตฌ์ฑ๋๋ค.
3. JDK_ Java Development Kit
JDK
โโ ๊ฐ๋ฐ ๋๊ตฌ
โ โโ javac
โ โโ jar
โ โโ javadoc ๋ฑ
โ
โโ JRE
โโ JVM
โโ Java ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- JDK๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐํ๊ณ ์ปดํ์ผํ๋ฉฐ ์คํ๊น์ง ํ ์ ์๋๋ก ์ง์ํ๋ ์ ์ฒด ์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ์ด๋ค.
- JDK ๋ด๋ถ์๋ javac, jar, javadoc ๋ฑ์ธ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ์๊ณ JRE์ JVM์ด ๋ค์ด์๋ค.
- ๊ฐ๋ฐ์๊ฐ ์๋ฐ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํํ๊ธฐ ์ํ ํ์์ ์ธ ๋๊ตฌ๋ค์ ๋ชจ๋ ๋ด๊ณ ์๋ค.
- JRE์ ์์ ์งํฉ ๊ฐ๋ ์ผ๋ก ์ดํดํ ์ ์์ผ๋ฉฐ ๊ฐ๋ฐ์ ํ์ํ ๋ฐฉ๋ํ ๋๊ตฌ๊ฐ ๋ค์ด์์ด ์ค์น ํฌ๊ธฐ๊ฐ ๊ฐ์ฅ ํฌ๋ค.