https: github.com accidentlywoo java wiki _new - accidentlywoo/java GitHub Wiki
Welcome to the java wiki!
์๋ฐ ํ๋ก๊ทธ๋จ ๊ธฐ์ด
์๋ฐ ํ๋ก๊ทธ๋จ ์ฐ์ฐ์
์๋ฐ ํ๋ก๊ทธ๋จ ์ ์ด๋ฌธ
๊ฐ์ฒด์งํฅ
ํด๋์ค
์๋ฐ Modifier์ ์์ฑ์
๋ฉ์๋ Overloading๊ณผ ๋งค๊ฐ๋ณ์
์๋ฐ์ ์์
์ถ์๋ฉ์๋ ์ถ์ํด๋์ค
์ธํฐํ์ด์ค์ ํจํค์ง
์์ธ์ฒ๋ฆฌ
java.lang ํจํค์ง
java.util ํจํค์ง
์๋ฐ ์ธ์ด์ ํ์
- 1991๋
Green Project์์ ๊ฐ์ ์ฉ ์ ์๊ธฐ๊ธฐ์์ ์ฌ์ฉ๋๋ ์์ ์ปดํจํฐ ์ธ์ด๋ฅผ ๋์์ธํจ.
- ๊ฐ์ ์ฉ ์ ์๊ธฐ๊ธฐ์ ์ฌ์ฉ๋๋ ์ธ์ด๋ ์๊ณ ๊ฒฌ๊ณ ํด์ผ ํ๋ฉฐ, ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ํ์๋ก ํจ.
- ๋ค๋ฅธ CPU๊ฐ ์ ํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ํน์ ๋๋ฐ์ด์ค์ ์ข ์๋์ง ์์์ผ ํจ. -> Virtual Machine์์ ๋์ํ๋ ์ค๊ฐ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ด์์ฑ์ด ๋์ ์ธ์ด๋ฅผ ๋์์ธํจ.
- 1992๋
C++๊ธฐ๋ฐ์ผ๋ก ๋ง๋ฌ : ์ ์ฐจ์งํฅ + ๊ฐ์ฒด์งํฅ -> Oak : ์๋ฒฝํ ๊ฐ์ฒด์งํฅ ์ธ์ด
- 1994๋
๊ฐ์ ์ ํ์์ ์ฃผ๋ชฉ๋ฐ์ง ๋ชปํ๊ณ ์น์ผ๋ก ์์ ์ ๋๋ฆผ World Wide Web์ ๋ฐ์ ๊ณผ Mosaic์ ์ฌ์ฉ์ ์ฃผ๋ชฉ -> ์๋ฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ ์น ๋ธ๋ผ์ฐ์ ์ ์ : HotJava๋ธ๋ผ์ฐ์ ๋ก ๋ฐ์ ํจ
HotJava : Applet์ด๋ผ ๋ถ๋ฆฌ๋ ์๋ฐ์ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ๊ฐ ์ค๊ฐ์ฝ๋(Bytecode)๋ฅผ ํด์ํ ์ ์๋๋ก ๋ง๋ฆ.
- 1995๋
Netscape 2.0์์๋ถํฐ ์๋ฐ๊ฐ ์ง์๋จ. ๋ง์ ์ ์ฒด๋ค์ด ์๋ฐ๋ฅผ ์ง์ํ๊ฒ ๋จ.
์๋ฐ์ ํน์ง
๋จ์, ๊ฐ์ฒด์งํฅ, ๋ถ์ฐ ์ฒ๋ฆฌ, ์ธํฐํ๋ฆฌํฐ, ๊ฒฌ๊ณ , ์์ , ํ๋ซํผ ๋ ๋ฆฝ, ๋์ ์ฑ๋ฅ, ๋ฉํฐ์ค๋ ๋, ๋์
๋จ์
C์ธ์ด์ C++์ธ์ด์ ๋ณต์กํ ๊ธฐ๋ฅ์ ์ ์ธํ์ฌ ์ฝ๋๋ฅผ ๋จ์ํ๊ฒ ์์ฑํ ์ ์์. C ์ ์ฐจ์งํฅ์ธ์ด + C++ ๊ฐ์ฒด์งํฅ ์์
-> C++์ ์ ์์ฒ๋ฆฌ, ํฌ์ธํฐ ์ฌ์ฉ, ๋ค์ค ์์, ๊ตฌ์กฐ์ฒด, goto๋ฌธ ์ฌ์ฉ, ์ฐ์ฐ์ ์ค๋ณต ๊ธฐ๋ฅ..๋ฑ์ ์ ์ธ ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)์ ์ํ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ก ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋จ.
-> C์ C++์ธ์ด์ ๋นํด ์๊ณ ๊ฐํธ
๊ฐ์ฒด์งํฅ
C++์ ๊ธฐ์ด๋ก ํ์ฌ ๋ง๋ค์ด์ง ์ธ์ด.
๊ฐ์ฒด์งํฅ์ ํ๊ฒ ๋๋ฉด ์ฌ์ฌ์ฉ์ฑ(Reusability)์ ๋์ผ ์ ์์
- ๋จ์ํ ์ฝ๋์ ์ฌ์ฌ์ฉ์ ๋์ด์ ๊ฐ์ฒด์ ์ฌ์ฌ์ฉ์ ๋ปํจ.
- ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ํ์ํ ์๋ง์ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ API๋ก ์ ๊ณตํจ.
๋ถ์ฐ์ฒ๋ฆฌ
๋ถ์ฐ ํ๊ฒฝ์์ TCP/IP๋ฑ์ ํ๋กํ ์ฝ์ ํตํด ํจ์จ์ ์ผ๋ก ์คํํ ์ ์๋๋ก ์ค๊ณ๋ ์ธ์ด.
- TCP/IP ๋คํธ์ํฌ ๊ธฐ๋ฅ ๋ด์ฅ
- HTTP, FTP ๋ฑ๊ณผ ๊ฐ์ ํ๋กํ ์ฝ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ณต
- ์๋ก ๋ค๋ฅธ ์ปดํจํฐ ์์ ๊ฐ์ฒด๋ค๋ ์๊ฒฉ์ผ๋ก ํธ์ถํ์ฌ ์คํํ ์ ์๋ ์๊ฒฉ ๋ฉ์๋ ํธ์ถ๊ณผ ๊ด๋ จ๋ RMI(Remote Method Invocation) ๊ธฐ๋ฅ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ณต
์ธํฐํ๋ฆฌํฐ
- ์์ค์ฝ๋(.Java)
--์ปดํ์ผ(Compiling javac)-->
- ์ค๊ฐ์ฝ๋(.class):๋ฐ์ดํธ์ฝ๋=ํด๋์คํ์ผ
--๊ธฐ๊ณ์ด๋ก ํด์(Interpreting:java)--> ์คํ.
-> ์๋ฐ๋ ์ปดํ์ผ ์ธ์ด์๊ณผ ๋์์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ฒฌ๊ณ
๋ค์ํ ํ๋ซํผ(os)์์์ ์คํ๋๊ธฐ ์ํด ์๋ฌ์ ์์ธ์ด ๋๋ ์์๋ค์ ์ ๊ฑฐํ๊ฑฐ๋ ์๋์ผ๋ก ํด๊ฒฐ
- ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ์ง ์์.
- ์๋์ผ๋ก ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collector)๊ธฐ๋ฅ์ ์ํํจ
- ์๊ฒฉํ ๋ฐ์ดํฐ ํ์ ์ ๊ฒ์ฌ๋ฅผ ํตํด ์๋ฌ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํจ
- ์คํ ์๊ฐ์ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ์ฒ๋ฆฌํจ.
์์
์ปดํ์ผ ์์ ์๊ฒฉํ๊ฒ ๋ฐ์ดํฐ ํ์ ์ ๊ฒ์ฌํจ์ผ๋ก์จ ํ๋ก๊ทธ๋จ ์คํ ์ ๋ฐ์ํ ์ ์๋ ๋น์ ์์ ์ธ ์ํฉ์ ๋ฏธ๋ฆฌ ๋ฐฉ์ง
-
.java(์์ค์ฝ๋)
-
์ปดํ์ผ๋ฌ(Compile)
-
.class(๋ฐ์ดํธ ์ฝ๋)
-- ์คํ ์--
-
- ํด๋์ค ๋ก๋ : ์ฝ๋ ๋ถ๋ฆฌ : ์์ ์ ์ปดํจํฐ์์ ์จ๊ฒ์ธ์ง, ๋ค๋ฅธ ์ปดํจํฐ์์ ์จ๊ฒ์ธ์ง ๋จผ์ ๋ถ๋ฆฌ
-
- ๋ฐ์ดํธ ์ฝ๋ ๊ฒ์ฆ๊ธฐ : ์ฝ๋ ๊ฒ์ฆ : ๋ฌธ์ ๊ฐ ์์๋ ์ธํฐํ๋ฆฌํฐ๋ก ๋์ด๊ฐ
-
์ธํฐํ๋ฆฌํฐ(Interpreter)
-> ์คํ.
ํ๋ซํผ ๋ ๋ฆฝ์
์ฌ์ฉํ๋ ์ด์์ฒด์ ๋ CPU๋ฑ์ ํ๋์จ์ด ์ฌ์์ ๊ด๊ณ ์์ด ์คํ๋ ์ ์์.
-
์๋ฐ ํ๋ก๊ทธ๋จ --์๋ฐ ์์ค์ฝ๋(.java)-->
-
์๋ฐ ์ปดํ์ผ๋ฌ --์๋ฐ ๋ฐ์ดํธ ์ฝ๋(.class)-->
-
์๊ฐ ๊ฐ์๋จธ์ --๊ธฐ๊ณ์ด์ฝ๋-->
-> ํ๋ซํผ ๋ ๋ฆฝ์
- Unix, Win, Mac..
๋์ ์ฑ๋ฅ
๊ฐ๋น์ง ์ปฌ๋์ (Garbage Collection)๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ด ์์ด ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋ ๊ฐ์ฒด์ ์ํ๋ฅผ ์ถ์ ๊ด๋ฆฌ
- ๋ ์ด์ ์ฐธ์กฐ๋์ง ์์ผ๋ฉด ์๋์ผ๋ก ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ํด์
๋ฉํฐ์ค๋ ๋(MultiThread)
์ค๋ ๋ : ๋ ์์ ์ผ๋ก ์ํํ๋ ํ๋์ ์์ ํ๋ก๊ทธ๋จ
๋ฉํฐ์ค๋ ๋ : ํ ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ์ํ๋๋ ๊ณผ์ , ํ๋์ CPU๊ฐ ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋์์ ์ํํ๋๋ก ํจ -> ์ํ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํจ
๋์ (Dynamic)
- ์๋ฐ ์ธ์ด๋ ๋ณํ๋๋ ํ๊ฒฝ์ ์ ์ ์๋๋๋ก ์ค๊ณ๋จ
- ๊ธฐ์กด์ ํ๋ก๊ทธ๋จ์ ์ํฅ์ ์ฃผ์ง ์๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ก์ด ๋ฉ์๋๋ ์์ฑ๋ค์ ์ถ๊ฐํ ์ ์์
- ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฐ๊ฒฐ์ ์คํ์๊ฐ์ ์ํํจ.
์๋ฐ ํ๋ซํผ์ ์ข ๋ฅ
ํ๋ซํผ(Platform)์ด๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์๋ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ํ๊ฒฝ์ ์๋ฏธ
-
์ผ๋ฐ์ ์ธ ํ๋ซํผ : ์ปดํจํฐ ํ๋์จ์ด : ํ๋์จ์ด๋ฅผ ์ ์ดํ๋ ์ด์์ฒด์
-
์๋ฐ ํ๋ซํผ : ์ํํธ์จ์ด๋ง์ผ๋ก ๊ตฌ์ฑ๋จ : JDK(Java Development Kit)๋ก ์ค์น๋จ : JAVA SE, JAVA EE, JAVA ME
-
Java SE(Standard Edition) ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ์๋์ ์ผ๋ก์จ, ์๋ฐ ์ธ์ด ๋๋ถ๋ถ์ ํจํค์ง๊ฐ ํฌํจ๋จ.
-
Java EE(Enterprise Edition) ํ์ ์์ ์ฌ์ฉ๋๋ API๋ค์ด ์ง์ฝ๋ ์๋์ ex) ์นํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ JSP,Servlet,JDBC,JNDI,EJB๋ฑ์ ๋ง์ ๊ธฐ์ ๋ค์ด ํฌํจ๋จ.
-
Java ME(Micro Edition) ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ ๋ฑ์์ ์ฌ์ฉ๋๋ API๊ฐ ํฌํจ๋ ์๋์ ์ค๋งํธํฐ์ ์์ฒด์ ์ธ OS๋ก ์ธํด ์์ฒด API(์๋๋ก์ด๋ SDK, ios SDF)์ ์ฌ์ฉ -> ํ์ฌ๋ ๊ฑฐ์ ์ฌ์ฅ๋จ.
์ผ๋ฐ์ ์ธ ํ๋ซํผ ๊ตฌ์กฐ
-
์ ํ๋ฆฌ์ผ์ด์ (Application)
-
์ด์์ฒด์ (OS) : Windows, Unix, Linux, Macintosh ์ดํ๋ฆฌ์ผ์ด์ ์ด ํ๊ณ ์ํ๋ ์ผ์ ํ๋์จ์ด์ ์ ๋ฌ -> ํต์ ์ ๋ด๋น
-
๋ค์ํ ํ๋์จ์ด ํ๋ซํผ : Intel,SPARC,PowerPC
์๋ฐ ํ๋ซํผ ๊ตฌ์กฐ
-
์๋ฐ ํ๋ก๊ทธ๋จ JVM์์์ ๋์
-
์๋ฐ ๊ฐ์๋จธ์ (JVM) : ์๋ฐ API(ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ)
-
๋ค์ํ ํ๋์จ์ ํ๋ซํผ
์๋ฐ ๊ฐ์ ๋จธ์ (Java Virtual Machine)
- ์๋ฐ ํ๋ก๊ทธ๋จ
- ์๋ฐ ์ธ์ด๋ก ์ฐ์ฌ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ํค๋ ๊ธฐ๋ฅ ์ํ
- ์๋ฐ ๊ฐ์ ๋จธ์
- ์๋ฐ๋ก ์ฐ์ฌ์ง ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํน์ ์ด์์ฒด์ ์ค๊ฐ์ ์กด์ฌํ์ฌ ์๋ก๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด์์ฒด์ ์ ์ํฅ์ ๋ฐ์ง ์๊ณ ๋์ํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณต
- OS(win,linux,unix) ๋จ! JVM์ ์ด์์ฒด์ ์ ์ง์ ์ ์ผ๋ก ํต์ ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ์ ๋ง๋ JVM์ ์ค์นํด ์ฃผ์ด์ผ ํจ.
์๋ฐ API(Application Programming Interface)
์๋ฐ ํ๋ซํผ์์ ์ ๊ณต
- ํ๋ก๊ทธ๋๋จธ๊ฐ ํ์๋ก ํ๋ ๊ธฐ๋ณธ์ ์ธ ํด๋์ค(Class)๋ค์ ๊ฑฐ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ์ ๊ณตํ๋ ๊ฒ
- ๋ฏธ๋ฆฌ ์ ๊ณต๋๋ ํด๋์ค๋ฅผ ํ์ค ํด๋์ค๋ผ๊ณ ํจ.
- ์๋ฐ ์ธ์ด ์์ฒด๋ ์๊ณ ๋จ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ง, ๋ง์ ๊ธฐ๋ฅ๋ค์ API์์ ์ ๊ณตํ๊ณ ์์
- ์๋ฐ ํจํค์ง : java.applet, java.awt, xjava.io, java.lang, java.net, javax.swing, java.utill
- java.applet : ์ ํ๋ฆฟ ์์ฑ์ ํ์ํ ๊ธฐ๋ฅ์ ๋ชจ์ ๋์ ํจํค์ง
- java.awt : GUI์์ฑ๊ณผ ๊ด๋ จ๋ ํจํค์ง.Javax.swingํจํค์ง์ ํจ๊ป ์๋ฐ GUI์ ํ๋ฆฌ์ผ์ด์ ์์ฑ ์ ํ์์ ์ผ๋ก ์ฌ์ฉํจ. ๋ฒํผ, ํ ์คํธํ๋, ๋ฉ๋ด ๋ฑ ๊ด๋ จ ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ ๊ธฐ๋ฅ์ ์ ๊ณตํจ.
- java.applet : ์๋ฐ ์ ์ถ๋ ฅ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ํจํค์ง. ํ์ผ์ด๋ ๋ฒํผ ๋ฑ์ ์ ์ถ๋ ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํจ.
- java.lang : ์๋ฐ ์ธ์ด์ ๊ธฐ์ด์ ์ธ ์ฌํญ์ ์ ์ํ ํด๋์ค์ ๊ด๋ จ๋ ํจํค์ง.Objectํด๋์ค, ๋ฌธ์์ด ๊ด๋ จ, ์์คํ ๊ด๋ จ, ๋ฉํฐ์ค๋ ๋ ๊ด๋ จ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ํฌํจํจ.
- java.net : ์๋ฐ์ ๋คํธ์ํฌ ๊ด๋ จ ํจํค์ง. ์ด ํจํค์ง ๋ด์๋ ์์ผ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ.
- javax.swing : java.awtํจํค์ง์ ๋๋ถ์ด ์๋ฐ GUI์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ํจํค์ง.java.awtํฌํจ ๋ด์ฉ๋ณด๋ค ๋ค์ํ๊ณ , ์ตํต์ฑ ์๋ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํจ.
- java.util : ์ ํธ๋ฆฌํฐ์ฑ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ํจํค์ง. ๋ ์ง ํํ์ด๋ ์ฌ๋ฌ ์๋ฃํ์ ํ๋๋ก ์ทจ๊ธํ๋ ์ปฌ๋ ์ ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ.
์๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ(JDK)
- ์๋ฐ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ํ ์๋ฐ ๊ฐ๋ฐํ๊ฒฝ ์ค์น
- ์ฌ์ฉํ๋ ค๋ ๋ถ์ผ์ ๋ฐ๋ผ ์ธ ๊ฐ์ง ํ๋ซํผ์ผ๋ก ๊ตฌ๋ถ๋จ.
JDK์ SDK
-
์๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ(JDK)๊ณผ ์คํํ๊ฒฝ(JRE:Java Runtime Environment)์ ๋๋์ด ์ค์นํ ์ ์์ต๋๋ค. JDK๋ ๊ฐ๋ฐ ๋ฐ ์คํ์ ํ์ํ ๋ชจ๋ ๋๊ตฌ๊ฐ ๋ค์ด์์ผ๋ฉฐ, JRE๋ JDK์์ ๋ช ๊ฐ์ง ๋๊ตฌ๋ฅผ ์ ์ธํ, ๋ง ๊ทธ๋๋ก ์คํ๋ง์ ์ํ ๋๊ตฌ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ JRE๋ง์ผ๋ก๋ ์์ฑ๋ ์์ค๋ฅผ ์ปดํ์ผ ํ ์ ์์ผ๋ฏ๋ก ์ปดํ์ผ๋ฌ๋ฅผ ํฌํจํ SDK(Software Development Kit)๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
-
JDK์ SDK๋ ๋์ผํ ์๋ฏธ์ ์ฉ์ด๋ก ์ดํดํ๋ฉด ๋ฉ๋๋ค. ๋ค๋ง JDK1.2๋ฒ์ ๋ถํฐ JDK๋ฅผ SDK๋ผ๋ ์ฉ์ด์ ํผ์ฉํด์ ๋ถ๋ฅด๋๋ฐ, ์ด๋ ๊ธฐ์กด์ 1.x๋ฒ์ ๊ณผ ๋น๊ตํ์ ๋, ์๋นํ ๋ง์ API๊ฐ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๊ฐ๋ ์ JDK๋ผ๋ ์๋ฏธ๋ก SDK๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ด๋ ๋ง์น ์๋์ฐจ ํ์ฌ์์ ๊ธฐ์กด์ ๋ธ๋๋์์ ์ ํ ๋ค๋ฅธ ๋์์ธ๊ณผ ์ฑ๋ฅ์ ๊ฐ์ง ์๋ก์ด ๋ธ๋๋๋ฅผ ๋ฐํํ ๋,'์ฌ ๋ด xx'์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ถ๋ฅด๋ ๊ฒ๊ณผ ๋์ผํฉ๋๋ค.
JDK ํด๋ ๊ตฌ์กฐ
- bin : ์๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๊ด๋ จ๋ ๊ฐ์ข ๋ช ๋ น๋ค์ ํฌํจํ ํด๋. ์๋ฐ ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ ๋ช ๋ น๋ ์ฌ๊ธฐ์ ํฌํจ๋จ
- include : ํ๋ซํผ ๋ณ๋ก ํ์ํ JDK์ ๊ฐ์ข ํค๋ ํ์ผ๋ค์ ํฌํจํ ํด๋
- jre : ์๋ฐ ์คํ ํ๊ฒฝ ๊ด๋ จ ๋ช ๋ น์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ ํด๋
- lib : ์๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ ํด๋
binํด๋์์ ์ฃผ์ ์๋ฐ ๋ช ๋ น์ด ๋ณด๊ธฐ
- javac(์๋ฐ์์ค ๋ฐ์ดํธ์ฝ๋๋ก ๋ฒ์ญ), java(์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ํด๋์ค๋ฅผ ํด์ํ์ฌ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ ์ค), appletviewer(์ผ์ข ์ ์์ ์น ๋ธ๋ผ์ฐ์ ), jdb(๋๋ฒ๊ฑฐ), javadoc(์๋ฐ ์์ค ํ์ผ์ ๋ํ htmlํ์ผ์ ์์ฑํ๊ณ , ์์ค ํ๋ก๊ทธ๋จ์ ํด๋์ค๋ ์ธํฐํ์ด์ค, ์์ฑ์, ๋ฉ์๋, ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ์ ๋ํ htmlํ์ผ์ ์์ฑํจ.), javap(์ปดํ์ผ ํ ์์ฑ๋ ์๋ฐ ํด๋์ค ํ์ผ์ ์ญ์ปดํ์ผํ์ฌ ํด๋์ค ๋ด์ ์ ๋ณด๋ฅผ ์ถ์ ํ ์ ์๋๋กํจ.), jar(๋ค์ ๊ฐ์ ์๋ฐ ํด๋์ค ํ์ผ๋ค์ ํ๋์ .jar๋ผ๋ ํ์ผ๋ก ์์ถํ์ฌ, ๋คํธ์ํฌ๋ฅผ ํตํ ํ๋ก๊ทธ๋จ ์ ์ก ์ ์ ์ก ์๊ฐ์ ์ค์ผ ์ ์์)
ํ๊ฒฝ ๋ณ์ ์ค์
- bin ํด๋ ๋ด์ ๋ช ๋ น์ด๋ค์ $bin ํด๋ ์์์๋ง ์ฌ์ฉํ ์ ์์
- ์์คํ ํ๊ฒฝ ๋ณ์์ path๋ณ์์ ๋ช ๋ น์ด๋ค์ด ๋ค์ด ์๋ ํด๋๋ฅผ ์ถ๊ฐํด์ผ ํจ. -> "ํ๊ฒฝ ๋ณ์์ path์ถ๊ฐ" -> ์๋ฐ์ ์ปดํ์ผ, ์ธํฐํ๋ฆฌํธ ๋ฑ์ ํ์ํ ๋ช ๋ น๋ค์ ์ด์์ฒด์ ์ ๋ฑ๋กํจ -> ๋ชจ๋ ๊ฒฝ๋ก์์ ์๋์ผ๋ก ๊ทธ ํ์ผ์ ์ธ์ํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ.
JDK Document์ฌ์ฉ
์๋ฐ API Document
- ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ์๋ฐ ํด๋์ค๋ก ๊ตฌํํ์ฌ ์ ๊ณตํ๋ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์๋ฐ ์์ค ํํ๊ฐ ์๋ ๋ฐ์ดํธ ์ฝ๋๋ก ์ ๊ณต -> ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋ ํด๋์ค๋ ์ธํฐํ์ด์ค ์ ๋ณด, ๋ฉ์๋, ์์ฑ์, ๋ณ์ ๋ฑ์ด ํ์ํจ.
- HTMLํ์ผ๋ก ๋ฌธ์ํํ์ฌ Oracle ํํ์ด์ง์์ ์ ๊ณตํจ.
์ดํด๋ฆฝ์ค(Eclipse)
์ผ๋ฐ ํ ์คํธ ํธ์ง๊ธฐ๋ค์ ์ค์๊ฐ ๋ฌธ๋ฒ ์ฒดํฌ๋ ๋๋ฒ๊น ๊ธฐ๋ฅ, ์์ค ์๋ ์์ฑ ๊ธฐ๋ฅ ๋ฑ์ด ์ ๊ณต๋์ง ์์ ํด๋์ค๋ช , ๋ฉ์๋๋ช , ๋ณ์๋ช ๋ฑ์ ๋ชจ๋ ์ธ์์ ์์ฑํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์. -> ์ดํด๋ฆฝ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ดํด๋ฆฝ์ค๊ฐ jdk๋ฅผ ์๋์ ์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ๋ณ์์ path์ง์ ์ ๊ตณ์ด ํ์ง ์์๋ ๋๋ค.