๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ํฌ์คํ ์์๋ Java ๊ณต๋ถ๋ฅผ ์์ํ๊ธฐ ์ ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!
๊ฐ๋ฐํ๊ธฐ ์ ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋๊ฒ์ ๊ฐ๋ฐ์์๊ฒ๋ ๋งค์ฐ ์ฝ๊ณ ๊ธฐ์ด์ ์ธ ์ผ์ด์ง๋ง, ๊ฐ๋ฐ์ ์ฒ์ ์์ํ์๋ ๋ถ์๊ฒ๋ ๊ฐ์ฅ ์ด๋ ค์ด ์ผ์ผ ๊ฒ์ ๋๋ค. ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ค๋ ๊ฒ์ ์ฝ๊ฒ ๋งํด์ ์ฌ๋ฌ๊ฐ์ง ์์กด์ฑ ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
โจ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ ์์
1. Java ์ค์น
2. IDE ์ค์น
3. ํ๊ฒฝ๋ณ์ ์ค์
1. Java ์ค์น
๊ฐ๋ฐ์ ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ผ๋จ, ์๋ฐ ์ธ์ด๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ์ค์นํ๋ ๊ฒ์ ๋๋ค. Java๋ฅผ ์ค์นํ๋ ค๋ฉด ์ด๋๋ก ๊ฐ์ผํ ๊น. ๋ํ์ ์ธ Java ๋ Oracle JDK์ OpenJDK๋ก ๋๋ ์ ์์ต๋๋ค.
1.1 ์ Java๋ ๋ ๊ฐ์ธ๊ฐ์?
์์ฝํ์๋ฉด, Java์ ๋ฌด๋ฃ ๋ ผ์์ 2011๋ ์ค๋ผํด์ด ์์ ๊ถ์ ๊ฐ์ง๋ฉด์ ์์๋์๊ณ , Java๋ผ๋ ์ธ์ด ์์ฒด๋ GPL ๋ผ์ด์ผ์ค๋ก ๋ฌด๋ฃ์ด๋ฉฐ, Oracle ์ธก์์๋ BCL(Oracle Binary Code License) ๋ผ์ด์ผ์ค๋ก ์ผ๋ฐ์ ์ธ ๋ชฉ์ (๋น์์ ์ )์ ์ปดํจํ ์๋ง ์ฌ์ฉ์ ๋ฌด๋ฃ๋ผ๊ณ ๋ฐํ๊ณ ์๋ค. ์ฆ, "Oracle JDK๋ ๊ฐ๋ฐํ๊ฒฝ์์์ ์ฌ์ฉ์ ๋ฌธ์ ๊ฐ ์์ผ๋, ์ด์ํ๊ฒฝ์์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค" ๋ ๊ฒ์ด ๊ด๊ฑด์ ๋๋ค.
ref) Java ์ ๋ฃ ๋ ผ์, Oracle JDK์ OpenJDK์ ์ฐจ์ด ์ ๋ฆฌ", ์ง๋จ๋ก๋ณดํธ, 2017, ๋งํฌ
Java๋ ๊ธฐ์ ์์ ๊ฐ์ฅ ์ฌ๋ ๋ฐ๊ณ ์๋ ์ธ์ด์ ๋๋ค. ํ์ง๋ง, ์ฌํ ๋ฌด๋ฃ๋ก ์ฌ์ฉํด์ค๋ Java๊ฐ Subscription ๋ฐฉ์(๋ค๋ฌ์ด )์ ์ ๋ฃ๊ฐ ๋๋ ๊ธฐ์ ์์๋ ๋์์ ์ฐพ๊ธฐ ์์ํ๋๋ฐ์, ๊ทธ ๋์์ด ๋ฐ๋ก ์คํ์์ค ๊ธฐ๋ฐ์ OpenJDK์ ๋๋ค.
OpenJDK๋ ์คํ์์ค๊ธฐ ๋๋ฌธ์ ์์ ์ฑ์ด ์์ฌ๋๊ธฐ๋ ํ๋๋ฐ์, ๊ฒ์ฆ๋ ๋ฒ์ (TCK ์ธ์ฆ)์ ์ด์ฉํ๋ฉด ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํฉ๋๋ค! ์ฐธ๊ณ ๋ก TCK(Technology Compatibility Kit)๋ ์๋ฐ ๊ธฐ์ ์ ๊ตฌํํ License ๋ค์ VM์ด ๊ท๊ฒฉ์ ๋ง๊ฒ ์ ๋๋ก ๊ตฌํ๋์๋์ง ๊ฒ์ฆํ๋ ํ ์คํธ ํ๋ก๊ทธ๋จ๊ณผ ๊ทธ ๋๊ตฌ๋ค์ด๋ผ๊ณ ํฉ๋๋ค!
1.2. Java ์ค์นํ๊ธฐ
์ฐ์ ์ค์น๋ฅผ ์ํด ์ค๋ผํด ํํ์ด์ง๋ก ์ด๋ํด๋ณด๊ฒ ์ต๋๋ค! ์ค๋ผํด Java๋ ์ ๋ฃ์ง๋ง, ๊ฐ๋ฐ์ฉ์ผ๋ก ์ฌ์ฉํ ๋๋ ๋ผ์ด์ผ์ค ๋น์ฉ์ ์ง๋ถํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฑฑ์ ํ์ง ์์ผ์ ๋ ๋ฉ๋๋ค! ๋จ, ๋ค์ด๋ก๋์ Oracle ํํ์ด์ง์ ๋ก๊ทธ์ธํด์ผ ํฉ๋๋ค. ๋ฒ๊ฑฐ๋ก์ฐ์๋ค๋ฉด OpenJDK ์ค์น๋ฅผ ์ถ์ฒ๋๋ฆฝ๋๋ค:) https://www.oracle.com/java/technologies/downloads/
1.3 JDK vs JRE
์ค์น ํ๋ ค๊ณ ๋ง์๋ดค๋๋, JDK๋ ๋ญ๊ณ JRE๋ ๋ญ์ผ!? ํ์๋ ๋ถ๋ค์ด ์์ ๊ฑฐ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ์ ๋ฆฌํด๋ณด์์ต๋๋ค!
- JDK๋? JDK๋ ์๋ฐ ๊ฐ๋ฐํคํธ(JDK, Java Development Kit)์ ์ฝ์๋ก, ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ํ์ํ ์๋ฐ ๊ฐ์ ๊ธฐ๊ณ(JVM), ๋ผ์ด๋ธ๋ฌ๋ฆฌ API, ์ปดํ์ผ๋ฌ ๋ฑ์ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ํฌํจ๋ ๊ฐ๋ฐ ํคํธ์ ๋๋ค.
- JRE๋ ์๋ฐ ์คํ ํ๊ฒฝ(JRE, Java Runtime Environment)์ ์ฝ์๋ก ํ๋ก๊ทธ๋จ ์คํ์ ํ์ํ ํ๊ฒฝ์ ๋ปํฉ๋๋ค. ์ค์ ๋ก ๊ฐ๋ฐ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ Java ํ๋ก๊ทธ๋จ์ ์คํ์ํค๊ธฐ ์ํด JRE ๋ง ์ค์นํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์์ฝํ์๋ฉด, ์๋์ ๊ฐ์ฃ !
- JRE = JVM + ํ์ค ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ = ์ผ๋ฐ ์ฌ์ฉ์์ฉ
- JDK = JRE + ๊ฐ๋ฐ์ ํ์ํ ๋๊ตฌ = ๊ฐ๋ฐ์์ฉ
์ด๋ฐ์๋ ์ค์น์ ์ฃผ์์ฌํญ์ผ๋ก๋
- ์ด์์ฒด์ ํ์ธํ๊ธฐ: linux, macOS, Solaris, Windows
- bit์(32 Bit/ 64 Bit) ํ์ธํ๊ธฐ
๋ฑ์ด ์์ต๋๋ค!
๐ 2. Java IDE ์ค์น: Eclipse ์ค์น
IDE๋, ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE, Integration Development Environment)์ ์ฝ์๋ก, ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ํตํฉ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ๋ปํฉ๋๋ค. ์ ๋ Java IDE๋ก ์ ๋ช ํ Eclipse๋ฅผ ์ค์นํ์ฌ ํ๊ฒฝ์ ๊ตฌ์ถํ ๊ฒ์ ๋๋ค.
์ถ๊ฐ๋ก ์ต๊ทผ์๋ JetBrains ์ฌ์ IntelliJ๋ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
Eclipse Installer๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํ๋ค. => Eclipse ๋ค์ด๋ก๋ ํ์ด์ง
eclipse ์ค์น๋ฅผ ํ๋ค๊ฐ ๊ฐํน ์ด๋ฐ ์ ํ์ง์ ๋๋์ ์ ์์ผ์ ๊ฐ์? ์ ์ด๋ ๊ฒ ์ ํ์ง๊ฐ ๋ง์๊ฑฐ์ผ...
์ ๋ฆฌํด๋๋ฆฌ๊ฒ ์ต๋๋ค! ์๋ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ง๊ฒ ์ฌ์ฉํ์๋ฉด ๋๋๋ฐ, ์์์ 3๋ฒ์งธ๋ถํฐ๋ Java ๊ฐ๋ฐ ๋ชฉ์ ์ด ์๋๋, ์ ์ธํ์ ๋ ๋ฉ๋๋ค!
๋ํ ์์ Java Application์ ๊ฐ๋ฐํ๋ ์ฉ๋๋ ๊ฑฐ์ ์์ผ๋ ์๋ Eclipse IDE for Enterprise Java Developers ๋ฅผ ์ ํํ์๋ฉด ๋ฉ๋๋ค!
- ๋จ์ํ Java ์ธ์ด๋ง์ ๊ณต๋ถํ ๋ชฉ์ : Eclipse IDE for Java Developers๋ฅผ ์ ํ
- ์ถํ ์น ํ๋ก์ ํธ ๋ชฉ์ : Eclipse IDE for Enterprise Java Developers(Java EE) ์ ํ
๐ 3. ํ๊ฒฝ ๋ณ์ ์ค์ : Path ์ค์
Java๋ฅผ ์ฒ์ ๋ฐฐ์ฐ๋ ์ฌ๋๋ค์ ํ๊ฒฝ๋ณ์ ๋ฑ๋ก, Path ๋ฑ๋ก์ ์ค์ตํ๋ฉด์ ์ ํด์ผํ๋ ์ง ์ด์ ๋ฅผ ์ ๋ชจ๋ฅผ๋๊ฐ ์์ต๋๋ค.
IDE(Eclipse) ์์์๋ ๊ฑฐ์ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ๋์ง ์๊ธฐ ๋๋ฌธ์ธ๋ฐ, ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๊ณ Path์ ๋ฑ๋กํ๋ ์ด์ ๋ ์๋ฐ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ์๊ตฌ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค! (์ธ์ ์ด๋์ ์๊ตฌํ ์ง ๋ชจ๋ฅด๋ ์ํฉ)
ํนํ, ๋ช ๋ น ํ๋กฌํํธ(cmd)์์์ ์๋ฐ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ path์ ๋ช ๋ น์ด๊ฐ ์๋ ์์น๋ฅผ ๋ฑ๋กํด์ผ ํฉ๋๋ค!
path์ %JAVA_HOME%\bin; ๋ฅผ ์์ ์ถ๊ฐํด์ค๋๋ค!
์ ์ด์ , ์๋ฐ๋ฅผ ์์ํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค!
๋์์ด ๋์ จ๋ค๋ฉด ๊ณต๊ฐ&๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค๐
'Programming > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ JAVA ] ๊ฐ์ฒด ์งํฅ 1 - ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2019.07.05 |
---|---|
[ JAVA ] ๊ธฐ์ด ๋ฌธ๋ฒ 2 - ์ฐธ์กฐ ํ์ (0) | 2019.07.05 |
[ JAVA ] ๊ธฐ์ด ๋ฌธ๋ฒ 1. ๋ณ์์ ํ์ (0) | 2019.07.03 |