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 ํ๋ซํผ์ ์ค์นํด์ผ ํจ.
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] ๋ณ์ ์ด๊ธฐํ์ ๋ํ ์ดํด (0) | 2024.11.05 |
---|---|
[Java] Annotation ์ด๋? ( ์ ๋ ธํ ์ด์ ) (0) | 2024.11.05 |
[Java] JVM ๋์ ์๋ฆฌ (0) | 2024.10.23 |
[Java] ํด๋์ค์ ๊ฐ์ฒด์ ์ ์ (9) | 2024.10.05 |
[Java] ์์ ( Extends ) (1) | 2024.05.01 |