[Java] Java์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?

2025. 3. 6. 16:33ยทโ˜•Java/๐Ÿ“Java Programming

1. Java ์–ธ์–ด์˜ ๊ธฐ์›

์ž๋ฐ” ์–ธ์–ด๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์€ Sun Microsystems์˜ ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง ๋ฐ•์‚ฌ์ด๋ฉฐ, 1990๋…„ Sun ํšŒ์‚ฌ๋‚ด ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰์„ ํ–ˆ์—ˆ๊ณ  ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์€ "๊ทธ๋ฆฐ ํ”„๋กœ์ ํŠธ"๋ผ๊ณ  ๋ถˆ๋ ธ๋‹ค. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” ์†Œ๋น„์ž์šฉ ์ „์ œ์žํ’ˆ์˜ ์ œ์–ด๋ฐ•์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๊ฐ€ ํ•„์š”ํ–ˆ๊ณ  C++ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ Oak๋ผ๋Š” ์–ธ์–ด๋ฅผ ์ž์ฒด์ ์œผ๋กœ ๊ฐœ๋ฐœํ•ด์„œ ์‚ฌ์šฉ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ . ์ด Oak์–ธ์–ด๊ฐ€ ๋‚˜์ค‘์— Java๊ฐ€ ๋œ๋‹ค.

 

(1) 1995๋…„

Oak๋ผ๋Š” ์ด๋ฆ„์„ ์ƒํ‘œ ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ด์œ ๋กœ ์–ธ์–ด์˜ ์ด๋ฆ„์„ Java๋กœ ๋ฐ”๊พธ๊ณ  Java์˜ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ๋ฐœํ‘œํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ๋‹น์‹œ ํฐ ์ธ๊ธฐ๋ฅผ ๋Œ์ง€๋Š” ๋ชปํ–ˆ๋˜ ์–ธ์–ด์˜€๋‹ค.

 

(2) 1996๋…„

1996๋…„ 1์›”์— Java 1.0์ด ๊ณต์‹์ ์œผ๋กœ ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. ์ด๋•Œ๋„ ๋ณ„ ๋ฐ˜์‘์€ ์—†์—ˆ๋‹ค.

 

(3) 1998๋…„

J2EE ( Java 2 Platform, Enterprise Edition )๊ฐ€ ๋ฐœํ‘œ๋˜๋ฉด์„œ ์ž๋ฐ”์˜ ์ธ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. J2EE๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์›น ๊ฐœ๋ฐœ์—์„œ ์ž๋ฐ”์˜ ์—ญํ• ์„ ํฌ๊ฒŒ ํ™•์žฅ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

(4) 1999๋…„

์ธํ„ฐ๋„ท์˜ ๋ณด๊ธ‰๊ณผ ํ•จ๊ป˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•„์š”์„ฑ์ด ์ปค์ง€๋ฉด์„œ, ์ž๋ฐ”๋Š” ์„œ๋ฒ„ ์ธก ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์˜ ์ฃผ์š” ๊ธฐ์ˆ ๋กœ ์ž๋ฆฌ์žก๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ์ž๋ฐ”์˜ JSP / Servlets์™€ ๊ฐ™์€ ๊ธฐ์ˆ ๋“ค์ด ์›น ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์ž๋ฐ”์˜ ์ธ๊ธฐ๊ฐ€ ๊ธ‰์ฆํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

 

(5) 2000๋…„๋Œ€ ์ดˆ๋ฐ˜

์ž๋ฐ”๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ํ‘œ์ค€ ๊ธฐ์ˆ ๋กœ ์ž๋ฆฌ์žก์•˜๊ณ , ๋งŽ์€ ๋Œ€๊ธฐ์—…๋“ค์ด ์ž๋ฐ”๋ฅผ ์„ ํƒํ•˜์—ฌ ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํŠนํžˆ J2EE๋Š” ๊ธฐ์—… ํ™˜๊ฒฝ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

 

(6) 2009๋…„

Oracle์ด Sun Microsystems๋ฅผ ์ธ์ˆ˜ํ•˜๋ฉฐ, 2009๋…„ ๋ถ€ํ„ฐ๋Š” Oracle์ด ์ž๋ฐ” ๊ธฐ์ˆ ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.


2. Java ์–ธ์–ด์˜ ํŠน์ง•

- ์šด์˜์ฒด์ œ์™€ ๋ฌด๊ด€, ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ธ ์–ธ์–ด์ด๋‹ค.

- ์™„์ „ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

- ๋ฐ์Šคํฌํ†ฑ ์‘์šฉ ์™ธ์— ์›น ๋˜๋Š” ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์šฉ์ด

- ๋ณ€์ˆ˜ ๋“ฑ์˜ ์‚ฌ์šฉ์— ์žˆ์–ด์„œ ์—„๊ฒฉํ•œ ์ž๋ฃŒํ˜•์˜ ๊ฒ€์‚ฌ

- ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ ์ œ๊ณต

- ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ์ง€์›


3. Java ํ”Œ๋žซํผ

- Java ํ”Œ๋žซํผ์€ Java ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐœ๋ฐœ๊ณผ ์‹คํ–‰์„ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•œ๋‹ค.

- ์‚ฌ์šฉ์ค‘์ธ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ๋ณ„๋„์˜ Java ํ”Œ๋žซํผ์„ ์„ค์น˜ํ•ด์•ผ ํ•จ.

C ํ”„๋กœ๊ทธ๋žจ๊ณผ Java ํ”„๋กœ๊ทธ๋žจ์˜ ์ฐจ์ด์ 


4. Java ํ”Œ๋žซํผ์˜ ๊ตฌ์„ฑ

 

(1) Java VM (Java Virtual Machine)

- Java ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒ ๊ธฐ๊ณ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

- Java ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ๋™ ์—”์ง„

- ์‹คํ–‰์— ํ•„์š”ํ•œ ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•ด์ค€๋‹ค.

- ๋ฉ”๋ชจ๋ฆฌ ์ •๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค. ( ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ )

 

(2) Java API

- ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

- ํŒจํ‚ค์ง€(ํด๋ž˜์Šค ๋ฌถ์Œ)๋“ค์ด ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋ถ„๋ฅ˜๋˜์–ด ์žˆ์Œ


5. Java ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰

(1) Java ์†Œ์Šค์ฝ”๋“œ

- Java ์†Œ์Šค๋Š” ํŒŒ์ผ ํ™•์žฅ์ž๊ฐ€ .java ํŒŒ์ผ์ด๋ฉฐ, ์ด๊ฒƒ์ด ์†Œ์Šค์ฝ”๋“œ์ด๋‹ค.

 

(2) Java ๋ฐ”์ดํŠธ ์ฝ”๋“œ

- ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋Š” ํŒŒ์ผ ํ™•์žฅ์ž๊ฐ€ .class์ธ ํŒŒ์ผ์ด๋‹ค.

- Java ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ์˜๋ฏธํ•œ๋‹ค.

- Java ํ”Œ๋žซํผ์˜ Java VM์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ์ด๋‹ค.

- ์ดํ›„์—๋Š” JVM์ด ์šด์˜์ฒด์ œ๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์‹คํ–‰์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

 

(3) ๋ช…๋ น์–ด๋กœ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

javac : ๋ช…๋ น ํ”„๋กฌํฌํŠธ ์ฐฝ์—์„œ ์ปดํŒŒ์ผ ๋ช…๋ น์–ด ( ์˜ˆ์‹œ : javac Hello.java )

java : ๋ช…๋ น ํ”„๋กฌํฌํŠธ ์ฐฝ์—์„œ ์‹คํ–‰ ๋ช…๋ น ( ์˜ˆ์‹œ java Hello )

[1] ํ™˜๊ฒฝ๋ณ€์ˆ˜

- PATH ๋ณ€์ˆ˜ ์ถ”๊ฐ€ : C:\Program Files\Java\jdk-21\bin

- java.exe , javac.exe ์™€ ๊ฐ™์ด ์ž๋ฐ” ์‹คํ–‰ ํŒŒ์ผ์ด ๋“ค์–ด์žˆ๋Š” bin ํด๋”๋ฅผ Path์— ์ถ”๊ฐ€ํ•˜๋ฉด ํ„ฐ๋ฏธ๋„(๋ช…๋ น ํ”„๋กฌํฌํŠธ)์—์„œ ์–ด๋””์„œ๋“  java, javac ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ์šฉ์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

- ๋งŒ์•ฝ, ์„ค์ •์„ ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•ด๋‹น ํด๋”์—์„œ๋งŒ java์™€ javac ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

* ์ตœ๊ทผ ์ž๋ฐ” ๋ฒ„์ „์€ ์„ค์ •์„ ์•ˆํ•ด์ค˜๋„ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.


6. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

(1) ํด๋ž˜์Šค์™€ ๊ฐ์ฒด

[1] ์ถ”์ƒํ™”

- ๊ตฌ์ฒด์ ์ธ ๋ชจ๋“  ์‚ฌ์‹ค์ด ์•„๋‹ˆ๋ผ ์ „ํ˜•์ ์ด๊ณ  ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์„ ์ถ”๋ ค์„œ ์‚ฌ๋ฌผ์„ ์ดํ•ดํ•˜๊ณ  ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

[2] ํด๋ž˜์Šค

- ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ชจํ˜• ๋˜๋Š” ํ‹€์„ ์˜๋ฏธํ•œ๋‹ค.

- ๊ณตํ†ต์ ์ธ ํŠน์ง•์„ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด๋“ค์„ ์ถ”์ƒํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์ด๋‹ค.

- ๊ฐ์ฒด์˜ ์ƒํƒœ๋Š” ํ•„๋“œ(๋ฐ์ดํ„ฐ)๋กœ, ํ–‰์œ„๋Š” ๋ฉ”์†Œ๋“œ๋กœ ๊ตฌํ˜„์ด ๋œ๋‹ค.

- ๊ฐ์ฒด๋Š” ํŠน์ • ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

(2) ๊ฐ์ฒด์ง€ํ–ฅ Java ํ”„๋กœ๊ทธ๋žจ

[1] Java ํ”„๋กœ๊ทธ๋žจ๊ณผ ํด๋ž˜์Šค

- ํด๋ž˜์Šค๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์„ฑ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

- ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ(ํ•„๋“œ)์™€ ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ(๋ฉ”์„œ๋“œ)์ด ํด๋ž˜์Šค ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ๋‹ค.

- ํด๋ž˜์Šค ์ •์˜๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋“ค์ด ๋งŒ๋“ค์–ด์ง€๊ณ  ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•œ๋‹ค.

'โ˜•Java > ๐Ÿ“Java Programming' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java] Enum ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ  (1) 2025.05.05
[Java] JVM๊ณผ ์ž๋ฐ” ์‹คํ–‰ ์›๋ฆฌ  (1) 2025.04.14
[Java] ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์— ๋Œ€ํ•œ ์ดํ•ด  (1) 2024.11.05
[Java] Annotation ์ด๋ž€? ( ์• ๋…ธํ…Œ์ด์…˜ )  (1) 2024.11.05
[Java] JVM ๋™์ž‘ ์›๋ฆฌ  (1) 2024.10.23
'โ˜•Java/๐Ÿ“Java Programming' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Java] Enum ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
  • [Java] JVM๊ณผ ์ž๋ฐ” ์‹คํ–‰ ์›๋ฆฌ
  • [Java] ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์— ๋Œ€ํ•œ ์ดํ•ด
  • [Java] Annotation ์ด๋ž€? ( ์• ๋…ธํ…Œ์ด์…˜ )
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (151)
      • ๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต (26)
        • ๐Ÿ–ฅ๏ธ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ (1)
        • ๐ŸŒ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… (11)
        • โš™๏ธ์ปดํ“จํ„ฐ์˜ ์ดํ•ด (11)
        • ๐Ÿ›๏ธ์„ธ๊ณ„์˜์ •์น˜์™€๊ฒฝ์ œ (3)
      • ๐Ÿ“šComputer Science (0)
      • ๐Ÿ› ๏ธBackend (2)
      • โ˜•Java (20)
        • ๐Ÿ“Java Programming (19)
        • ๐ŸงฉJava Design Pattern (1)
      • ๐ŸŒณSpring (9)
        • ๐ŸŒฑSpring Framework (6)
        • ๐ŸŒฑSpring Security (1)
      • โšกPython (13)
      • ๐Ÿ›ข๏ธDatabase (0)
      • ๐ŸŒฟGitHub (1)
      • ๐ŸŒ Network (7)
        • ๐Ÿ“œHTTP (7)
      • ๐Ÿš€DevOps (1)
      • Algorithm Problem Solving (2)
      • Data Structure (1)
      • JavaScript (1)
      • โ›บ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ (65)
      • ์žก๋‹ด (1)
      • ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ธ€ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํด๋ผ์šฐ๋“œ
    ๋‹คํ˜•์„ฑ
    ์Šคํ”„๋ง
    ์ž๋ฐ”
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…๊ฐœ๋ก 
    ์ปดํ“จํ„ฐ์˜ ์ดํ•ด
    ์„ธ๊ณ„ํ™”
    ๋ฐฉ์†ก๋Œ€
    ์œ ๋น„์ฟผํ„ฐ์Šค
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…
    spring
    ํด๋ž˜์Šค
    Spring Framework
    ๋ฐฉํ†ต๋Œ€
    ์ปดํŒŒ์ผ๋Ÿฌ
    Python
    ํŒŒ์ด์ฌ
    ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต
    ์ž…์ถœ๋ ฅ
    Java
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
junbin2
[Java] Java์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”