์˜ค๋Š˜๋‚  ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 700๋งŒ ๋ช…์ด ๋„˜๋Š” Java ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ์œผ๋ฉฐ ์ด๋Š” ์ƒ๋‹นํžˆ ๋งŽ์€ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ถ๊ธˆํ•ดํ•˜์ง€ ์•Š์„ ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ์—…๊ณ„๊ฐ€ ์ด๋ฏธ ์ž๋ฐ” ์ฝ”๋”๋กœ ๊ณผ๋ฐ€ํ•ด์ง„ ๊ฒƒ์ผ๊นŒ? ์งง์€ ๋Œ€๋‹ต์€ ์•„๋‹ˆ์˜ค์ž…๋‹ˆ๋‹ค. Java ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

1. ๋” ๋งŽ์€ Java ์ฝ”๋” = ๋” ๋งŽ์€ Java ๊ฐœ๋ฐœ์ž ์ž‘์—…

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ์ž์˜ ๊ฑฐ๋Œ€ํ•œ ๊ธฐ๋ฐ˜์€ ๊ธฐ์—…์ด ํ•„์š”์— ๋งž๋Š” ๊ธฐ์ˆ ์„ ์„ ํƒํ•  ๋•Œ Java๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฌผ๋ก  JVM ๋ฐ OOP ์ง€์›๊ณผ ๊ฐ™์€ Java์˜ ์—„์ฒญ๋‚œ ๊ธ€๋กœ๋ฒŒ ์ธ๊ธฐ์˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์š”์†Œ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

2. ์ข‹์€ ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค

์†Œํ”„ํŠธ์›จ์–ด ์‚ฐ์—…์—๋Š” ์—ฌ์ „ํžˆ ์ถฉ๋ถ„ํ•œ ์ž๊ฒฉ์„ ๊ฐ–์ถ”๊ณ  ์ ์ ˆํ•˜๊ฒŒ ํ›ˆ๋ จ๋œ Java ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. Java๊ฐ€ ์—ฌ๋Ÿฌ ํ•ด ๋™์•ˆ ๋‹ค์–‘ํ•œ ํ‹ˆ์ƒˆ ์‹œ์žฅ ๋ฐ ์‚ฐ์—… ๋ถ„์•ผ์˜ ํšŒ์‚ฌ์—์„œ ๋งค์šฐ ์ธ๊ธฐ ์žˆ๊ณ  ์ผ๋ฐ˜์ ์ด๋ผ๋Š” ์‚ฌ์‹ค์ด Java๋ฅผ ์ฃผ๋ฅ˜๋กœ ๋งŒ๋“ค์—ˆ๊ณ  ์ˆ˜์‹ญ๋งŒ ๋ช…์˜ Java ์ฝ”๋”๋ฅผ ํƒ„์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ์•„์ฃผ ์ข‹์€ํ•˜์ง€. ์ œ๋Œ€๋กœ ๊ต์œก์„ ๋ฐ›์ง€ ๋ชปํ–ˆ๊ฑฐ๋‚˜, Java ๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ์ฝ”๋”ฉ์— ์ง„์ •ํ•œ ๊ด€์‹ฌ์ด ์—†๊ฑฐ๋‚˜, ๋‹จ์ˆœํžˆ ์ถ”๊ฐ€ ์–ธ์–ด/๊ธฐ์ˆ ๋กœ Java๋ฅผ ๋ฐฐ์šฐ๊ณ  Java ๊ฐœ๋ฐœ์—์„œ ๊ฒฝ๋ ฅ์„ ์ฐพ์ง€ ์•Š๋Š” ์ˆ˜์‹ญ๋งŒ ๋ช…์˜ Java ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Java ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ˆ˜์š”๋Š” ๊ณ„์† ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์ฆ˜ Java๋Š” ํ”Œ๋žซํผ, ๊ธฐ์ˆ  ๋ฐ ๊ฒฝ์ œ ๋ถ€๋ฌธ ์ธก๋ฉด์—์„œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ๋งŽ์€ Java ์ฝ”๋”๊ฐ€ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ž๊ฒฉ์„ ๊ฐ–์ถ”๊ณ  ๊ฒฝํ—˜์ด ํ’๋ถ€ํ•œ Java ๊ฐœ๋ฐœ์ž์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๊ณ„์† ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ์œ„์น˜์ž…๋‹ˆ๋‹ค. ๋ฏธ๊ตญ์˜ ์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ๋‚˜ ์„œ์œ ๋Ÿฝ์˜ ์ฃผ์š” ๋„์‹œ์™€ ๊ฐ™์ด ์ž˜ ์•Œ๋ ค์ง„ ๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ ๊ธฐ์ˆ  ์„ผํ„ฐ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Java ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์†Œ๊ทœ๋ชจ ๋ฐ ์ €๊ฐœ๋ฐœ ์ง€์—ญ์˜ ํšŒ์‚ฌ๋Š” ์ˆ™๋ จ๋œ ์ธ๋ ฅ ๋ถ€์กฑ์œผ๋กœ ์‹ฌ๊ฐํ•œ ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ” ๊ฐœ๋ฐœ์ž.

4. Java๋Š” ์•„๋งˆ๋„ ์ฝ”๋”ฉ ๊ฒฝ๋ ฅ์„ ์‹œ์ž‘ํ•˜๊ธฐ์— ๊ฐ€์žฅ ์ข‹์€ ์–ธ์–ด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฏธ ์„ธ์ƒ์— ๋งŽ์€ Java ๊ฐœ๋ฐœ์ž๊ฐ€ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” Java๊ฐ€ ์•„๋งˆ๋„ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ถ„์•ผ์—์„œ ์ƒˆ๋กœ์šด ๊ฒฝ๋ ฅ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ์— ๊ฐ€์žฅ ์ข‹์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. (์ƒ๋Œ€์ ์œผ๋กœ) ๋งˆ์Šคํ„ฐํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ณดํŽธ์ ์œผ๋กœ ์ฐฌ์‚ฌ๋ฅผ ๋ฐ›์œผ๋ฉฐ, ์ˆ˜์š”๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Java๊ฐ€ ์˜ค๋žซ๋™์•ˆ ์ธ๊ธฐ๋ฅผ ๋Œ์—ˆ๊ณ  ์ ์–ด๋„ ์ˆ˜์‹ญ ๋…„ ๋™์•ˆ ๋„๋ฆฌ ์‚ฌ์šฉ๋  ๊ฒƒ์ด๋ผ๋Š” ์‚ฌ์‹ค์€ ์ „๋ฌธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ ์‹œ์ž‘์„ ์œ„ํ•œ ์ตœ์„ ์˜ ์„ ํƒ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋งŽ์€ Java ์ฝ”๋”๊ฐ€ ์žˆ๋Š” ์ฃผ์š” ์ด์ ์€ ์ด๋Ÿฌํ•œ ๊ฑฐ๋Œ€ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•ด ์ƒˆ๋กญ๊ณ  ๊ฒฝํ—˜์ด ์—†๋Š” ์ฝ”๋”๊ฐ€ ๋ฐฐ์šฐ๊ธฐ๊ฐ€ ๋” ์‰ฝ๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. Java๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ์ง€์‹ ๊ธฐ๋ฐ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์™„์ „ํžˆ ์ž์„ธํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์‚ฌ๋ก€, ์ž์Šต์„œ, ๊ฐ€์ด๋“œ, ๊ถŒ์žฅ ์‚ฌํ•ญ ๋ฐ ๊ธฐ๊บผ์ด ๋„์™€์ค„ ๊ฒฝํ—˜์ด ํ’๋ถ€ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์—…๊ณ„๋Š” Java ๊ฐœ๋ฐœ์ž๋กœ ๋ถ๋น„๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์ด์ œ ๋‹น์‹ ์€ ๋‹ต์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.