Search

JDK

JDK 8
JDK 8

JDK๋ž€?

JDK(Java Development Kit)๋Š” ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ‚คํŠธ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ, ์ปดํŒŒ์ผ, ๋””๋ฒ„๊น… ๋ฐ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๋„๊ตฌ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

JDK์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ

๊ตฌ์„ฑ ์š”์†Œ
์„ค๋ช…
JRE (Java Runtime Environment)
์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์œผ๋กœ, JVM๊ณผ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
JVM (Java Virtual Machine)
์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ, ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ ๋„๊ตฌ
javac (์ปดํŒŒ์ผ๋Ÿฌ), java (์ธํ„ฐํ”„๋ฆฌํ„ฐ), javadoc (๋ฌธ์„œ ์ƒ์„ฑ), jar (์•„์นด์ด๋ธŒ ๋„๊ตฌ) ๋“ฑ์˜ ๋ช…๋ น์ค„ ๋„๊ตฌ๋“ค์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ž๋ฐ” ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Java API)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

JDK vs JRE

โ€ข
JDK: ๊ฐœ๋ฐœ์ž์šฉ์œผ๋กœ, ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
JRE: ์ตœ์ข… ์‚ฌ์šฉ์ž์šฉ์œผ๋กœ, ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ๋งŒ ํ•„์š”ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

โ€ข
ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ: "Write Once, Run Anywhere" - ํ•œ ๋ฒˆ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
๊ฐ์ฒด ์ง€ํ–ฅ: ์ž๋ฐ”๋Š” ์ˆœ์ˆ˜ํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
โ€ข
์ž๋™ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ: ๋ณด์•ˆ ๊ด€๋ฆฌ์ž์™€ ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ: ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

JDK ๋ฒ„์ „

JDK๋Š” ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ, ์ฃผ์š” ๋ฒ„์ „๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. Oracle JDK์™€ OpenJDK ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฐํฌํŒ์ด ์กด์žฌํ•˜๋ฉฐ, ๊ฐ ๋ฒ„์ „์€ LTS(Long Term Support) ๋˜๋Š” ์ผ๋ฐ˜ ๋ฆด๋ฆฌ์Šค๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.