1. ์๋ฐ ๊ฐ๋ฐ ๋๊ตฌ(JDK) ์๊ฐ
์๋ฐ ๊ฐ๋ฐ ๋๊ตฌ(JDK)๋ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ํ์ํ ๋ชจ๋ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๋ฐ ์ธ์ด๋ก ์์ฑํ ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ณ ์คํ์ํฌ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. JDK๋ ์๋ฐ ๊ฐ๋ฐ์ ํ์ํ ๋๊ตฌ๋ค์ ํ ๊ณณ์ ๋ชจ์๋์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ค์ ์ฝ๊ฒ ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์คํํ ์ ์์ต๋๋ค.
JDK๋ ์ฃผ๋ก ์ธ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ฒซ์งธ, ์๋ฐ ์ปดํ์ผ๋ฌ๋ ์๋ฐ ์์ค ์ฝ๋๋ฅผ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ๋์งธ, ์๋ฐ ์คํ ํ๊ฒฝ(JRE)์ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํ์์ผ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, JDK์๋ ๋ค์ํ ๋๊ตฌ๋ค์ด ํฌํจ๋์ด ์์ด์ ๊ฐ๋ฐ์๋ค์ ํจ์จ์ ์ธ ๊ฐ๋ฐ์ ์ํด ์ด๋ฌํ ๋๊ตฌ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฟ๋ง ์๋๋ผ JDK์๋ ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ๋ฐ ๋๊ตฌ, ๋๋ฒ๊น ๋๊ตฌ, ๋ฌธ์ํ ๋๊ตฌ ๋ฑ ๋ค์ํ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ํฌํจ๋์ด ์์ด์ ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ํ์ฉํด์ ์์ ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค. JDK๋ ์๋ฐ ๊ฐ๋ฐ์ ์์ด ํ์์ ์ธ ๋๊ตฌ๋ก์, ์๋ฐ ๊ฐ๋ฐ์๋ค์ JDK๋ฅผ ์ค์นํ์ฌ ๊ฐ๋ฐ ์์ ์ ์ํํฉ๋๋ค.
JDK๋ ์ค๋ผํด์์ ์ ๊ณต๋๋ ์ ์ ์๋ฐ ๊ฐ๋ฐ ๋๊ตฌ์ด์ง๋ง, ์ปค๋ฎค๋ํฐ์์๋ OpenJDK๋ผ๋ ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ ํตํด์ ๋๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ JDK๋ ์ฌ์ฉ๋ฉ๋๋ค. JDK๋ ์๋ฐ ๊ฐ๋ฐ์๋ค์๊ฒ ํฐ ํธ์์ฑ์ ์ ๊ณตํ๋ฉฐ, ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋๋ก ๋์์ค๋๋ค. ๋ค์์ผ๋ก๋ JDK์ ์ญํ ๊ณผ JRE์์ ๊ด๊ณ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
2. ์๋ฐ ๋ฐํ์ ํ๊ฒฝ(JRE) ์๊ฐ
์๋ฐ ๋ฐํ์ ํ๊ฒฝ(JRE)๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํ์ํค๊ธฐ ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด์ ๋๋ค. JRE๋ JDK์ ๋ฐ์ ํ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, JDK์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ๋ฐ ํ์์ ์ธ ์์์ ๋๋ค.
JRE๋ ์คํ ์๊ฐ์ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํ ๊ฐ์ ๋จธ์ ์ธ Java Virtual Machine(JVM)์ ํฌํจํ๊ณ ์์ต๋๋ค. JVM์ ์ด์์ฒด์ ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํ์ํฌ ์ ์๋๋ก ๋์์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. JVM์ ์๋ฐ ์ธ์ด์ ์ด์์ฒด์ ๊ฐ์ ์ค์ฌ์๋ก์ ๋์ํ๋ฉฐ, ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ด์์ฑ๊ณผ ํธํ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
JRE๋ ๋ํ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ํ์๋ก ํ๋ ์๋ฐ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Java Class Library)๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ๊ฐ๋ฐ์๋ค์ ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์์ ์ ํ๋ก๊ทธ๋จ์ ๋์ฑ ํ๋ถํ๊ณ ์ ์ฐํ๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๋ํ JRE๋ ์คํ ์๊ฐ์ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ฆฌํ๊ณ ๊ฐ๋ ํ๊ธฐ ์ํ ๋๊ตฌ๋ค์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, JRE์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ ๋ถ์ํ๋ ๋๊ตฌ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊น ์ ์ํ ๋๊ตฌ, ํ๋กํ์ผ๋ง ํด ๋ฑ์ด ํฌํจ๋์ด ์์ต๋๋ค.
JDK์ JRE์ ์ฃผ์ ์ฐจ์ด์ ์ JDK๋ Java ์ปดํ์ผ๋ฌ๋ฅผ ํฌํจํ ๊ฐ๋ฐ ๋๊ตฌ๋ค๊ณผ ํจ๊ป ์ ๊ณต๋๋ ๋ฐ๋ฉด, JRE๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ํ์ ๊ตฌ์ฑ ์์๋ค๋ง ์ ๊ณต๋๋ค๋ ๊ฒ์ ๋๋ค.
๋ค์์ JDK์ JRE์ ์ฐจ์ด์ ์ ๋ํด ๋ ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
3. JDK์ JRE์ ์ฐจ์ด์
JDK์ JRE๋ ์๋ฐ ๊ฐ๋ฐ์ ํ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋ ๊ฐ์ง ๋๊ตฌ์ ๋๋ค. ์ด ๋์ ๋ชฉ์ ๊ณผ ํฌํจ๋๋ ๊ตฌ์ฑ ์์์ ๊ด์ ์์ ์ฃผ์ํ ์ฐจ์ด์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
JDK(Java Development Kit)
JDK๋ ์๋ฐ ๊ฐ๋ฐ ๋๊ตฌ๋ก์, ์๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์คํํ๊ธฐ ์ํ ๋ชจ๋ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. ์ฃผ์ํ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ฐ ์ปดํ์ผ๋ฌ์ ๊ฐ์ ๊ฐ๋ฐ ๋๊ตฌ๋ค์ ํฌํจํ๊ณ ์์ด, ๊ฐ๋ฐ์๋ ์๋ฐ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ์ฌ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํ ์ ์์ต๋๋ค.
- ์๋ฐ ์คํ ํ๊ฒฝ(JRE)๋ฅผ ํฌํจํ๊ณ ์์ด, ๊ฐ๋ฐ์๋ ์์ ์ด ๊ฐ๋ฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ์ฌ ์คํ์ํฌ ์ ์์ต๋๋ค.
- ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ํ ๋๊ตฌ๋ค์ ํฌํจํ๊ณ ์์ด, ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ํ์ฉํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์คํ์ํฌ ์ ์์ต๋๋ค.
- ๊ฐ๋ฐ์๋ค์ JDK๋ฅผ ์ค์นํ๊ณ ์์ ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ฑํจ์ผ๋ก์จ ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค.
JRE(Java Runtime Environment)
JRE๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋๊ตฌ์ ๋๋ค. JDK์ ๋น๊ตํ์ ๋, ํฌํจ๋๋ ๊ตฌ์ฑ ์์์ ๋ชฉ์ ์ด ๋ค์ ์ ํ์ ์ ๋๋ค. ์ฃผ์ํ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ฐ ์คํ ํ๊ฒฝ(JRE)๋ง ํฌํจํ๊ณ ์์ด, ๊ฐ๋ฐ์๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ๊ณ ์คํ์ํฌ ์๋ ์์ต๋๋ค.
- JVM(Java Virtual Machine)์ ํฌํจํ๊ณ ์์ด, ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ํฌ ์ ์์ต๋๋ค.
- ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ํฌํจํ๊ณ ์์ด, ๊ฐ๋ฐ์๋ค์ ์ ๊ณต๋๋ ๊ธฐ๋ฅ๊ณผ ํด๋์ค๋ค์ ํ์ฉํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
- ๊ฐ๋ฐ์๊ฐ ์ด๋ฏธ ๊ฐ๋ฐ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ด๋ฏ๋ก, JDK๋ณด๋ค๋ ๋ ๊ฐ๋ฒผ์ด ํ๊ฒฝ์ ๋๋ค.
JDK๋ ์๋ฐ ๊ฐ๋ฐ์๋ค์ด ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์คํ์ํค๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ฉด์ JRE๋ ์ด๋ฏธ ๊ฐ๋ฐ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ์๋ค์ ์์ ์ ๊ฐ๋ฐ ๋ชฉ์ ์ ๋ง๊ฒ JDK ๋๋ JRE๋ฅผ ์ ํํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
4. JDK์ ์ฃผ์ ๊ตฌ์ฑ ์์
JDK(Java Development Kit)๋ ์๋ฐ ๊ฐ๋ฐ ๋๊ตฌ๋ก์, ์๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์คํํ๊ธฐ ์ํ ๋ค์ํ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. JDK์ ์ฃผ์ ๊ตฌ์ฑ ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค.
1. ์๋ฐ ์ปดํ์ผ๋ฌ(Java Compiler)
์๋ฐ ์ปดํ์ผ๋ฌ๋ ์๋ฐ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ์ฌ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค. ์์ค ์ฝ๋๋ ๊ฐ๋ฐ์๊ฐ ์์ฑํ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์๋ณธ ์ฝ๋์ด๋ฉฐ, ๋ฐ์ดํธ ์ฝ๋๋ ์ปดํ์ผ๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์ค๊ฐ ํํ์ ๋๋ค. JDK์๋ ์๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๋ฐ์๋ ๊ฐ๋ฐํ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ ์ ์์ต๋๋ค.
2. ์๋ฐ ์คํ ํ๊ฒฝ(Java Runtime Environment, JRE)
JDK๋ ์๋ฐ ์คํ ํ๊ฒฝ(JRE)๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. JRE๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๊ฒฝ์๋ ์๋ฐ ๊ฐ์ ๋จธ์ (JVM)๊ณผ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๊ฐ๋ฐ์๋ JDK์ JRE๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ํฌ ์ ์์ต๋๋ค.
3. ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Java Standard Library)
์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ฐ์๋ค์ด ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ํด๋์ค์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํฉ๋๋ค. JDK์๋ ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชจ๋ ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์ํ ์์ ์ ์ํํ๋ ํด๋์ค๋ค์ ํฌํจํ๊ณ ์์ด, ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ํ์ฉํ์ฌ ์์ ์ ํ๋ก๊ทธ๋จ์ ๋์ฑ ํ๋ถํ๊ณ ์ ์ฐํ๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
4. ๋๋ฒ๊น ๋๊ตฌ(Debugging Tools)
JDK๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊น ์ ์ง์ํ๋ ๋๊ตฌ๋ค์ ํฌํจํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ค์ JDK์ ๋๋ฒ๊น ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ์ํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
5. ํ๋กํ์ผ๋ง ๋๊ตฌ(Profiling Tools)
ํ๋กํ์ผ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ์๊ฐ ๋์์ ์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ๋ฑ์ ๋ํ ๋ถ์์ ์๋ฏธํฉ๋๋ค. JDK์๋ ํ๋กํ์ผ๋ง ๋๊ตฌ๊ฐ ํฌํจ๋์ด ์์ด, ๊ฐ๋ฐ์๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ ์ต์ ํํ๊ธฐ ์ํด ์ด ๋๊ตฌ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
JDK๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์คํํ๋ ๋ฐ ํ์ํ ๋ค์ํ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฐ์๋ค์ ์ด๋ฌํ ๊ตฌ์ฑ ์์๋ค์ ํ์ฉํ์ฌ ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ณ ์คํ์ํฌ ์ ์์ต๋๋ค.
5. JRE์ ์ฃผ์ ๊ตฌ์ฑ ์์
JRE(Java Runtime Environment)๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋๊ตฌ์ ๋๋ค. JRE์ ์ฃผ์ ๊ตฌ์ฑ ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค.
1. ์๋ฐ ์คํ ํ๊ฒฝ(Java Runtime)
JRE์๋ ์๋ฐ ์คํ ํ๊ฒฝ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด ํ๊ฒฝ์ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ํด์ํ๊ณ ์คํํ๋ JVM(Java Virtual Machine)์ ํฌํจํ๊ณ ์์ต๋๋ค. JVM์ ํ๋ซํผ์ ๋ ๋ฆฝ์ ์ธ ์คํํ๊ฒฝ์ ์ ๊ณตํ์ฌ, ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์๊ฒ ํฉ๋๋ค. JRE๊ฐ ์ ๊ณตํ๋ ์๋ฐ ์คํ ํ๊ฒฝ์ ๊ฐ๋ฐ์์๊ฒ ์ด๋ฏธ ์ปดํ์ผ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
2. ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Java Standard Library)
JRE๋ ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ๋ค์ํ ๊ธฐ๋ณธ ํด๋์ค์ ๊ธฐ๋ฅ๋ค์ด ํฌํจ๋์ด ์์ด, ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ํ์ฉํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. JRE์ ํฌํจ๋๋ ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์ํ ์์ ์ ํ์ํ ํด๋์ค๋ค๊ณผ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๋ค์ด ํจ์จ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๊ฒ ํฉ๋๋ค.
3. ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Native Libraries)
JRE์๋ ์๋ฐ ํ๊ฒฝ์์ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค๋ ํฌํจ๋์ด ์์ต๋๋ค. ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ C, C++ ๋ฑ์ ์ธ์ด๋ก ์์ฑ๋ ์ฝ๋๋ก์จ, ํน์ ์ด์์ฒด์ ๋ ํ๋์จ์ด์ ์ํธ์์ฉํ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ถ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. JRE๋ ์ด๋ฌํ ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์คํ๋๋ ํ๊ฒฝ์ ๋ง๊ฒ ์ ์ ํ๊ฒ ๊ด๋ฆฌํ์ฌ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ ์ง์ํฉ๋๋ค.
4. ์๋ฐ ์คํ ํ๊ฒฝ ๊ด๋ จ ๋๊ตฌ(Tools)
JRE์๋ ์๋ฐ ์คํ ํ๊ฒฝ๊ณผ ๊ด๋ จ๋ ๋ค์ํ ๋๊ตฌ๋ค๋ ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ค์ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ฑฐ๋ ๋ชจ๋ํฐ๋งํ๋ ๋ฑ์ ์์ ์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. JRE๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ํ๊ฒฝ์ ๊ด๋ฆฌํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์ ํ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
JRE๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ๋ก ์คํํ๋ ๋ฐ ํ์ํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๊ฒฝ์๋ ์๋ฐ ์คํ ํ๊ฒฝ, ์๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ์คํ ํ๊ฒฝ๊ณผ ๊ด๋ จ๋ ๋๊ตฌ๋ค์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ ์์๋ค์ ํตํด JRE๋ ๊ฐ๋ฐ์๊ฐ ์ด๋ฏธ ๊ฐ๋ฐ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ณ ๊ด๋ฆฌํ ์ ์๊ฒ ํฉ๋๋ค.
๋๊ธ