์ง๋ ์๊ฐ์๋ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ์ง์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ์ ํด๋ณด์์ต๋๋ค.
๋๋ฌด ์ง๋ฃจํ ์ด๋ก ์ ์ธ ์ด์ผ๊ธฐ ๋ณด๋ค๋ ๊ฐ๋ฐ์๋ก ๊ฐ๋ฐ์ ํ๋ฉด์ ๋๋์ ์ ๋ฐํ์ผ๋ก ์ ์๋ฅผ ๋ด๋ ธ์๋๋ฐ
์ดํดํ๋๋ฐ ๋์์ด ๋์์ผ๋ฆฌ๋ผ ์๊ฐํฉ๋๋ค.
์ด๋ฒ ์๊ฐ์๋ ๋ฌด์์ ๋ฐ๋ผํ๊ธฐ ์๊ฐ์ ๊ฐ์ ธ๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ ์ฌ๋ฌ๋ถ๋ค ์ปดํจํฐ์ ์๋์ ๊ฐ์ ๊ฒ๋ค์ ์ค๋นํด์ผ ํฉ๋๋ค.
1. JDK (Java Development Kit)
2. ์ดํด๋ฆฝ์ค IDE (Integrated Development Environment)
์ค์นํ๊ธฐ ์ ์ ์ด์น๊ตฌ๋ค์ด ๋ญ์ง๋ถํฐ ์๊ณ ์ค์น๋ฅผ ํด์ผ๊ฒ ์ฃ ? ํดํนํ๋ก๊ทธ๋จ์ด๋ฉด ํฐ ์ผ ๋ ํ ๋๊น์.
์ฐ์ , JDK๋ผ๋ ์น๊ตฌ๋ "์๋ฐ ๊ฐ๋ฐ ํด" ์ค์ฌ์ "์๊ฐํด"์ด๋ผ๋ ๋ ์์ด์ฃ . ์๋ฐ ์ธ์ด ์ฌ์ ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
์ด ๋ ์์ด ์์ด์ผ ์ฌ๋ฌ๋ถ๋ค์ด ์์ฑํ ์๋ฐ์์ค์ฝ๋๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ๋ ์ธ์ด๋ก ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๊ณ ,
์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํ์ํฌ ์๊ฐ ์์ต๋๋ค. ํ์๋ถํฐ ํ์ฌ๊น์ง ๋ฌด๋ฃ์
๋๋ค. (Java 8์ ํน์ ๋ฒ์ ๋ถํฐ๋ ์ ๋ฃ๋ผ์ด์ผ์ค๋ก ์ ํ๋์์ต๋๋ค)
๋ค์์ผ๋ก ์ดํด๋ฆฝ์ค๋ผ๋ ์น๊ตฌ๋ ์ฌ๋ฌ๋ถ๋ค์ด ๊ฐ๋ฐ์ ์ข ๋ ์ฝ๊ฒ ํ ์ ์๋๋ก ํ๊ธฐ์ํด
์คํ์์ค๋ก ๊ณต๊ฐ๋ ๋ฌด๋ฃ๋ก ์ฌ์ฉ๊ฐ๋ฅํ "ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ"์ ์ ๊ณตํ๋ ๋๊ตฌ์ ๋๋ค.
๊ฐ๋ฐ์๊ฐ ์์ค์๊ฐ๋ผ๋ฉด ์ดํด๋ฆฝ์ค IDE๋ ์๋ํ๋ก์ธ์์ ๊ฐ์ ๊ฒ์ ๋๋ค.
์, ๊ทธ๋ผ ์ค์น๋ฅผ ํ๋ฌ ๊ฐ๋ณผ๊น์??
1. JDK 8 (Java SE Development Kit 8) ์ค์น -> ๋ค์ด๋ก๋ ๋งํฌ
-> ํน์ ๋ค์ด๋ก๋ ๋งํฌ ๋ค์ด๊ฐ๋๋ฐ cookie ๊ด๋ จ ์๋์ ๊ฐ์ ์ฐฝ์ด ๋ฌ๋ค๋ฉด ๊ทธ๋ฅ I agree ํ์ง๋ง์๊ณ ์๋์ฒ๋ผ ๋ฐ๋ผํด์ฃผ์ธ์.
2. ์ดํด๋ฆฝ์ค(๊ฐ๋ฐํด, IDE) ์ค์น -> ๋ค์ด๋ก๋ ๋งํฌ
3. ์ด์ ๋ค์ด๋ก๋ ๋ฐ์ JDK ์ค์น ํ์ผ์ "๋๋ธํด๋ฆญ"ํด์ ์ค์นํด์ฃผ์ธ์.
-> ์ค์น ์ ์ธํ (์ค์น ๊ฒฝ๋ก ๋ณ๊ฒฝ ๋ฑ)์ ํ์ง๋ง๊ณ ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก Next, Next ํ์๋ฉด ๋ฉ๋๋ค.
์ค์น๊ฐ ์๋ฃ๋๋ฉด ์๋์ฐ์์๋ cmd์ฐฝ, Mac์์๋ ํฐ๋ฏธ๋์ฐฝ์์ ์๋์ ๊ฐ์ด ์๋ฐ์ ๋ฒ์ ์ ํ์ธํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด๋ณด์ธ์.
java -version
๊ฒฐ๊ณผ๋ ์๋์ฒ๋ผ ๋์์ผ ํฉ๋๋ค. ๋ฌผ๋ก ๋ฒ์ ์ ๋ํ๋ด๋ ์ซ์๋ ๋ค๋ฅผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ํ์ธํ ๊ฒ์ ์ธ ๋ฒ ์งธ ์ค์ HotSpot์ด๋ผ๊ณ ๋จ๋์ง๊ฐ ์ค์ํฉ๋๋ค.
(์๋ฐ๋ ์คํํ๊ฒฝ๋ง ์ ๊ณตํ๋ JRE์ ๊ฐ๋ฐํ๊ฒฝ๊น์ง ์ ๊ณตํ๋ JDK๊ฐ ์์ต๋๋ค.
์ ํฌ๋ JDK๋ฅผ ์ค์นํ ๊ฒ์ด๊ณ JDK์ ๋ฒ์ ์๋ ์ ๋ ๊ฒ HotSpot Server VM์ด๋ผ๋ ๊ฒ ์ถ๋ ฅ๋ฉ๋๋ค.)
์ฌ๊ธฐ๊น์ง ์ ๋ฐ๋ผ์ค์ จ๋ค๋ฉด ์ด์ ์ดํด๋ฆฝ์ค๋ฅผ ์ค์นํด์ฃผ์ธ์.
์ฐ๋ฆฌ๋ ์ดํด๋ฆฝ์ค ์ธ์คํจ๋ฌ์์ ์์์ ๋ ๋ฒ์งธ ๊บผ๋ฅผ ์ ํํด์ ์ค์นํ ๊ฒ๋๋ค.
์ค์น ์์น๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธํ ์ด ๋์ด์์ต๋๋ค. ๊ทธ๋ฅ INSTALL ๋ฒํผ์ ๊พน ๋๋ฌ์ฃผ์๋ฉด ๋ฉ๋๋ค.
๋ง์ฝ Java ๊ฒฝ๋ก๊ฐ ๋์ค์ง ์๋๋ค๋ฉด Java ์ค์น๊ฐ ์ ๋๋ก ์๋์๋ค๋ ์๋ฏธ์ด๋ฏ๋ก ํ์ธ์ ํด๋ณด์ ์ผ ํฉ๋๋ค.
์ค์น๊ฐ ์งํ๋๊ณ ์์ต๋๋ค.
์ด๋ฐ ์ ๋ฐ ํ์ผ๋ค์ ์ธํฐ๋ท์์ ๋ค์ด๋ก๋ ๋ฐ์๊ฐ๋ฉด์ ์ค์น๋ฅผ ํฉ๋๋ค.
์ค๊ฐ์ ์ด๋ฐ ๋ผ์ด์ผ์ค ๋์ ํ์ ์ฐฝ์ด ๋จ๋ฉด "Remember accepted licenses"์ ์ฒดํฌํด์ฃผ๊ณ "Accept"๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. "Remember choice"์ ์ฒดํฌํด์ฃผ์๊ณ , "Accept" ๊ณ ๊ณ ์ฑ~
์ด ํ๋ฉด์ ์๋์ฐ ์ด์์ฒด์ ์์๋ ์๋์ฌ ์ ์์ผ๋, "์ด๋ฐ ํ๋ฉด์ ์ ์๋์ค์ง?"ํ์ค ํ์๊ฐ ์์ต๋๋ค.
์๋์ฐ์์๋ ๊ทธ๋ฅ next, next ํ์๋ฉด ๋ ๊ฒ๋๋ค.
์ฌ๊ธฐ์๋ ์ฒดํฌํด์ฃผ๊ณ "Accept selected" ๊ณ ๊ณ ์ฑ~
์ค์น๊ฐ ์๋ฃ๋๋ฉด Launch ๋ฒํผ์ด ํ์ฑํ๋ฉ๋๋ค.
์ด์ Launch ๋ฒํผ์ ๋๋ฌ ์คํ์ ์์ผ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์คํํ๋ฉด ์์ ๊ฐ์ ์ฐฝ์ด ๋จ๋๋ฐ ๋ฌด์ํ๊ณ ๊ทธ๋ฅ "Launch" ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค. (๊ฒฝ๋ก๋ ๋ค๋ฅผ ์ ์์ต๋๋ค.)
welcome ์ฐฝ์ด ๋ ์์ต๋๋ค. ์ด๋ฐ์ ๋ฐ ๋ฉ๋ด๊ฐ ๋ณด์ด๊ณ ๋ฐ๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด ๋ณผ ์ ์๋ ๋ฉ๋ด๋ ๋ณด์ ๋๋ค.
์ด์ ๊ฐ๋จํ ํ๋ก์ ํธ๋ฅผ ํ๋ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
๋ฐ๋ก "์๋ ํ๋ก์ ํธ"์ ๋๋ค.
welcome ์ฐฝ์ ์ฐ์ธก์์ "Tutorials"๋ฅผ ์ ํํฉ๋๋ค.
"Create a Hello World application"์ ์ ํํฉ๋๋ค.
๋ญ๊ฐ ๋ฐ๋ํ์ฒ๋ผ ์๊ธด ๋ณต์กํด๋ณด์ด๋ ํ๋ฉด์ด ๋์๋๋ฐ ์ ๊ฒฝ๋๊ณ ์ค๋ฅธ์ชฝ์ ๋ณด์ด๋ "์ฐ์ปด์ฐฝ"๋ง ๋ณด์๋ฉด ๋ฉ๋๋ค.
๋ฐ๋ผํ๊ธฐ์ฒ๋ผ ๋์ด์๋๋ฐ ๋ฒํผ๋ง ๋๋ฅด๋ฉด ์์์ ์ด๊ฒ์ ๊ฒ ํด์ค๋๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ์์์ ๋๋ค.
Hello World ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ์์ ์์๋ฅผ ํ๋ฒ ์ฐ์ตํ๊ณ
๋ค์์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ๋ ๋์ผํ ์์๋ก ์์ ์ ์งํํ๋ฉด ๋ฉ๋๋ค.
๊ฐ์ด๋ฐ ํ๋์์ผ๋ก "Click to Begin"์ ํด๋ฆญํด๋ด ์๋ค.
๋ฐ๋ก ์๋์ชฝ์ ์๋ "Open the Java perspective" ๋ฉ๋ด๊ฐ ์ด๋ฆฌ๋ฉด์ ์ด๋ฐ์ ๋ฐ ์ค๋ช ์ด ๋ ๋์ต๋๋ค.
์ค๋ช ์ ์ด๋ ต์ง ์์ผ๋ ํ๋ฒ ์ฝ์ด๋ณด๊ณ , "Click to perform"์ ํด๋ฆญํฉ๋๋ค.
๋ญ๊ฐ ์คํํ๋ ๋ฏ ํ๋๋ ์ดํด๋ฆฝ์ค ์ฐฝ ์ฐ์๋จ์ ์ ํ๋ ์์ด์ฝ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
์๋ ์ปคํผ์ฝฉ ๋ชจ์์ด ์๋ ์์ด์ฝ์ด ์ ํ๋์ด์์๋๋ฐ, ์ด์ J๋ผ๋ ๊ธ์๊ฐ ์๋ ์์ด์ฝ์ด ์ ํ๋์ด์ ธ ์๋ค์.
๊ทธ๋ฆฌ๊ณ ์ฐ์ปด์ฐฝ์์๋ ๋ค์ ๋จ๊ณ์ธ "Create a Java project" ๋ฉ๋ด๊ฐ ์ด๋ ธ์ต๋๋ค.
์ค๋ช ์ ํ๋ฒ ์ฝ์ด๋ณด๊ณ ๋ "Click to perform" ์ ํด๋ฆญํฉ๋๋ค.
์๋ฐ ํ๋ก์ ํธ ์์ฑ์ฐฝ์ด ๋ด๋๋ฐ ์ฌ๊ธฐ์ "Project name"๋ง ์ ๋ ฅํด์ฃผ๊ณ "Finish"๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
์ข์ธก์ "Project Explorer" ๋ทฐ์ ์ ๋ ฅ๋ง ํ๋ก์ ํธ๋ช ์ด ๋ณด์ด๋์ง ํ์ธํฉ๋๋ค.
์ด์ ๋ค์ ๋จ๊ณ์ธ "Create your HelloWorld class" ๋ฅผ ์งํํฉ๋๋ค.
์ค๋ช ์ ์๋๋๋ก ๋ฐ๋ผํ๊ฑฐ๋ "Click to perform"์ ํด๋ฆญํฉ๋๋ค.
ํด๋์ค ์์ฑ์ฐฝ์ด ๋จ๋๋ฐ ์ฌ๊ธฐ์๋ "Name"์ "HelloWorld" ์ ๋ ฅ ํ ์๋์ชฝ์ "public static void main(String[] args)" ์์ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ฒดํฌํ๊ณ "Finish" ํฉ๋๋ค.
HelloWorld ํด๋์ค๊ฐ ์์ฑ๋์ด ์ข์ธก์ Package Explorer ์๋ ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๊ณ ,
๊ฐ์ด๋ฐ ํ ํ ๋น์ด์๋ ์ฐฝ์๋ ๋ญ๊ฐ๊ฐ ๋ํ๋ฌ์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ์๋ฐ ๋ฌธ๋ฒ์ ๊ธฐ์ดํ ์์ค์ฝ๋์ ๋๋ค.
์, ์ด์ ์ฒ์์ผ๋ก ์์ค์ฝ๋๋ฅผ ์์ฑํด๋ณผ ์ฐจ๋ก์ ๋๋ค.
์ฐ์ปด์ฐฝ์ ์ค๋ช ๋๋ก ์๋์ฒ๋ผ ์ถ๋ ฅ๋ฌธ์ ํ๋ ์์ฑํด ์ฃผ์ธ์.
์ ์ฒ๋ผ ํ์ค์ ์ถ๊ฐํ๊ณ ์ ์ฅํฉ๋๋ค.
์ด์ ๋ง์ง๋ง์ผ๋ก ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์คํํด๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ปด์ฐฝ ๋ง์ง๋ง ๋จ๊ณ์ ์ค๋ช ์ ๋ฐ๋ผ์ ์คํํด๋ด ๋๋ค.
HelloWorld์ ์์ฑํ ์ถ๋ ฅ๋ฌธ์ ๋ฐ๋ผ ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ๊น์ง๊ฐ HelloWorld ํํ ๋ฆฌ์ผ์ ๋์ ๋๋ค.
์ฐ๋ฆฌ๋ ํ๋๋ง ๋ ํด๋ณด์ฃ .
System.out.println("Hello world!");
์ฌ๊ธฐ์ "Hello world!" ๋ฅผ "์๋ ํ๋ก์ ํธ ์ฑ๊ณต" ์ผ๋ก ๋ฐ๊ฟ์ ์ถ๋ ฅํ ๊ฒ๋๋ค.
์๋์ฒ๋ผ ๋ณ๊ฒฝํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
System.out.println("์๋
ํ๋ก์ ํธ ์ฑ๊ณต");
์ด์ ๋ค์ ์คํํด๋ณด์ธ์.
์๋์ฒ๋ผ ๊ฒฐ๊ณผ๊ฐ ์ ๋์ค๋ฉด ๋ฉ๋๋ค.
์ฌ๊ธฐ๊น์ง ์ ๋ฐ๋ผ ์ค์ จ์ต๋๋ค.
์ฌ๋ฌ๋ถ์ ์ด์ ๊ฐ๋ฐ์๊ฐ ๋์์ต๋๋ค.
์ด๋ฒ ์๊ฐ์๋ JDK ์ค์น์ ์ดํด๋ฆฝ์ค IDE ์ค์น ๊ทธ๋ฆฌ๊ณ ํฌ๋ก์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ ๊น์ง
๋ฌด์์ ๋ฐ๋ผํด๋ณด๋ ์๊ฐ์ ๊ฐ์ก์ต๋๋ค.
์ด์ ๊ฐ๋ฐ์ ์ํ ๊ธฐ๋ณธ์ ์ธ ์ค๋น๋ ๋ชจ๋ ๋๋ฌ์ต๋๋ค.
๋ค์ ์๊ฐ๋ถํฐ๋ ์๋ฐ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ ๋ง๋ค์ด๋ณด๋ ์๊ฐ์ ๊ฐ์ง๋๋ก ํ๊ฒ ์ต๋๋ค.