ํธ๊ธฐ๋กญ๊ฒ ์คํ๋ง๋ถํธ ์คํฐ๋์ ๋ฐ์ด๋ค์์ง๋ง ์กธ๋ ผ + ํ๋ก์ ํธ ์ด์๋ก ์ ๋ฒ์ฃผ์๋ ์ ๋๋ก ์ฐธ์ฌํ์ง ๋ชปํ๋ค..์ฌ์ค ์ด์ ๊น์ง ์กธ์ ๋ ผ๋ฌธ๊ณผ ํ๋ก์ ํธ ๋ณด๊ณ ์ ๋ง๊ฐ์ผ์ด์์ด์ ์ด๋ฒ ์ฃผ๋ ๊ณต๋ถ๋ฅผ ๋ชปํ ๊ฒ์ ๋ง์ฐฌ๊ฐ์ง์ธ๋ฐ ํ ์ฃผ ๋ ๊ฑด๋๋ฐ๊ธฐ์๋๋๋ฌด ๋์น๊ฐ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๋ฒ์ค ์์์ ํธ๋ค๋ฅ ๋ฒผ๋ฝ์น๊ธฐ ํด๋ณด์๋ค.
๋ค์ ์ฑ ์ ์ฐธ๊ณ ํ์๋ค.
๋น๋ ๋๊ตฌ
์คํ๋ง๋ถํธ ํ๋ก์ ํธ ๋ ํฌ๋ฅผ ๋ณด๋ฉด gadle์ด๋ผ๋ ํด๋๊ฐ ๊ผญ ๋ณด์๋๋ฐ ๋๋์ฒด ์ ๊ฒ ๋ญ๊น ํญ์ ๊ถ๊ธํ์๋ค(๋ฐ๋ก ์์๋ณผ ์ ๋๋ก ๊ถ๊ธํ์ง๋ ์๊ณ ๊ทธ๋ฅ ๋ณผ๋๋ง ์ ๊น ๊ถ๊ธํ๋ค). ๋ง์นจ ์ด ์ฑ 2์ฅ์์ ๋๊ตฌ ์ ํ์ ๋ค๋ฃจ๋ฉด์, ๊ทธ๋ ์ด๋ค์ ๋ํ ์ค๋ช ์ ํฌํจํ์ฌ 2์ฅ์ ๋จผ์ ์ฝ์ด๋ณด๊ธฐ๋ก ํ๋ค.
๋ฉ์ด๋ธ(Maven)๊ณผ ๊ทธ๋ ์ด๋ค(gradle)์ ๋น๋ ๋๊ตฌ์ด๋ค. ๊ณผ๊ฑฐ์๋ ๋ ๋ง์ ๋น๋ ๋๊ตฌ๋ค์ด ์์์ง๋ง, ํ์ฌ๋ ์ด ๋ ๊ฐ์ ์ปค๋ฎค๋ํฐ๋ง ์ด์๋จ์ ๋ชจ์์ด๋ค.
์ํ์น ๋ฉ์ด๋ธ(Apache Maven)
๋ฉ์ด๋ธ์ 2002๋ ์ ์์๋ ์ดํ๋ก, ์์ฒญ๋๊ฒ ์ค๋ ์ฌ์ฉ๋ ๋๊ตฌ์ด๋ค. ๋ฉ์ด๋ธ์ ์ ์ธํ ์ ๊ทผ๋ฒ์ ์ฌ์ฉํ์ฌ, ๋ค๋ฅธ ๋น๋ ๋๊ตฌ๋ณด๋ค ๊ฐ๋ ์ด ํจ์ฌ ๊ฐ๋จํ๋ค. XML ํ์์ pom.xml ํ์ผ์ ํ๋ก์ ํธ ์์กด์ฑ๊ณผ ํ๋ก๊ทธ์ธ์ ์ ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
mvn ๋ช ๋ น์ด๋ฅผ ์คํํ ๋ ์ด๋ค ๋จ๊ณ๋ฅผ ์ํํ ์ง ์ง์ ํ์ฌ ์ปดํ์ผ, ์ด์ ๋น๋์์ ์์ฑ๋ ์ฐ์ถ๋ฌผ ์ญ์ , ํจํค์ง, ์ ํ๋ฆฌ์ผ์ด์ ์คํ ๋ฑ ๋ค์ํ ์์ ์ ์ฒ๋ฆฌํ๋ค.
๋ฉ์ด๋ธ์ ์ปจ๋ฒค์ ์ ๋ฐ๋ผ ํน์ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋ค. ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ์ง ์์ผ๋ฉด, ์คํ๋ ค ์ญํจ๊ณผ๊ฐ ๋ฐ์ํ๋ค.
project-root/
โโโ pom.xml # ๋ฉ์ด๋ธ ํ๋ก์ ํธ ์ค์ ํ์ผ
โโโ src/
โ โโโ main/ # ์ ํ๋ฆฌ์ผ์ด์
์์ค ์ฝ๋
โ โ โโโ java/ # Java ์์ค ํ์ผ
โ โ โ โโโ com/example/demo/ # Java ํจํค์ง ๊ตฌ์กฐ
โ โ โ โโโ DemoApplication.java # ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์
ํด๋์ค
โ โ โโโ resources/ # ์ค์ ํ์ผ ๋ฐ ๋ฆฌ์์ค
โ โ โโโ application.properties # ์ ํ๋ฆฌ์ผ์ด์
์ค์ ํ์ผ
โ โโโ test/ # ํ
์คํธ ์์ค ์ฝ๋
โ โโโ java/ # ํ
์คํธ Java ํ์ผ
โ โ โโโ com/example/demo/ # ํ
์คํธ ํจํค์ง ๊ตฌ์กฐ
โ โ โโโ DemoApplicationTests.java # ํ
์คํธ ํด๋์ค
๊ทธ๋ ์ด๋ค
๊ทธ๋ ์ด๋ค์ JVM(Java Virtual Machine) ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ๋ ์ฌ์ฉํ๋ ๋น๋ ๋๊ตฌ๋ค. ๋ฉ์ด๋ธ์ ์๊ฒฉํ ํด๋ ๊ตฌ์กฐ๊ฐ ๋ง์์ ๋ค์ง ์๊ฑฐ๋, ์กฐ๊ธ ๋ ์ ์ฐํ ์ค์ ์ด ํ์ํ ํ๊ฒฝ์ด๋ผ๋ฉด ๊ทธ๋ ์ด๋ค์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๊ทธ๋ ์ด๋ค์ DSL(Domain Specific Language)์ ์ฌ์ฉํ์ฌ ๋น๋ ํ์ผ์ ์์ฑํ๋ค. build.gradle ํ์ผ์ ์ต์ํ์ ์ฝ๋๋ก ์์ฑํ ์ ์์ผ๋ฉฐ, ๊ทธ๋ฃจ๋น(Groovy) ๋๋ ์ฝํ๋ฆฐ(Kotlin)์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. ๋น๋ ๋๊ธฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์๋ฐ ํด๋์ค์ ์ฆ๋ถ ์ปดํ์ผ
- ๋ณ๊ฒฝ๋ ํ์ผ๋ง ์ปดํ์ผํ์ฌ ๋น๋ ์๊ฐ์ ์ค์ด๋ ๊ธฐ์ . ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ์๋ ๊ธฐ์กด ์ปดํ์ผ๋ ํ์ผ์ ๊ทธ๋๋ก ์ฌ์ฉํด ๋น ๋ฅด๊ฒ ์์ ์ ์งํํ๋ค.
- ์: ๋ฉ์ด๋ธ์ ์ ์ฒด ํ์ผ์ ๋ค์ ๋น๋ํ์ง๋ง, ๊ทธ๋ ์ด๋ค์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ฒ๋ฆฌํ๋ค.
- ๋ฐ๋ชฌ(Daemon)
- ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํ๊ธฐ ์ํด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ ํ๋ก์ธ์ค.
- ์ผ๋ฐ์ ์ธ JVM ํ๋ก์ธ์ค์ ๋น์ทํ๋ฉฐ, ํ ๋ฒ ์์๋๋ฉด ์ข ๋ฃํ์ง ์๊ณ ์ง์์ ์ผ๋ก ๋น๋ ์์ ์ ์ฒ๋ฆฌํ๋ค.
- ๋๋ถ์ ๋์ผํ ํ๋ก์ ํธ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋น๋ํ ๋ ์ด๊ธฐํ ๊ณผ์ ์ ์๋ตํ์ฌ ๋น ๋ฅด๊ฒ ์์ ํ ์ ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ฉ์ด๋ธ๊ณผ ๋น์ทํ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด๋, ์ํ๋๋๋ก ์ปค์คํ ํ ์ ์๋ค.
๋ฉ์ด๋ธ vs ๊ทธ๋ ์ด๋ค
๋ฉ์ด๋ธ์ ์ ์ธํ ์ ๊ทผ ๋ฐฉ์๊ณผ ์ผ๊ด๋ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ํตํด, ํ๋ก์ ํธ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ํด์ง ๊ท์น ๋ด์์ ์ผ๊ด์ฑ ์๊ฒ ์ ์งํ๋ค. ์ด ๊ท์น์ ๋ฒ์ด๋์ง ์๋ ์ด์ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ์ด๋ฌํ ํน์ฑ ๋๋ถ์ ์ด๋ณด์๋ ํ์คํ๋ ํ๊ฒฝ์ ์ ํธํ๋ ๊ฒฝ์ฐ ์ข์ ์ ํ์ง๊ฐ ๋ ์ ์๋ค.
์ฅ์
- ์ผ๊ด์ฑ ์ ์ง: ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋น๋ ์ ์ฐจ๊ฐ ํ์คํ๋์ด ๊ฐ๋ฐ ํ๊ฒฝ ๊ฐ ์ฐจ์ด๋ฅผ ์ต์ํ.
- ์์ ์ฑ: ์๋ก์ด ๋ฒ์ ์ ๋์ ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์ ์ด ์์ธก ๊ฐ๋ฅํ ๋น๋ ๊ฐ๋ฅ.
- ๋ฐฐ์ฐ๊ธฐ ์ฌ์: ์ค์ ํ์ผ์ธ pom.xml์ ์ฝ๊ธฐ ์ฝ๊ณ ์ ์ธ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ณด์์๊ฒ ์ ํฉ.
- ํ๋ถํ ํ๋ฌ๊ทธ์ธ: ๋ค์ํ ํ๋ฌ๊ทธ์ธ๊ณผ ๋ฌธ์ํ๋ก ํ์ฅ์ฑ ํ๋ณด.
๋จ์
- ๋น๋ ์๋: ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ๋น๋ ์๊ฐ์ด ๋๋ฆด ์ ์์.
- ์ ์ฐ์ฑ ๋ถ์กฑ: ์ ํด์ง ๊ตฌ์กฐ์ ๊ท์น์์ ๋ฒ์ด๋๋ ์์ ์ ์ถ๊ฐ์ ์ธ ์ค์ ์ด ํ์.
- ์์กด์ฑ ๋ฌธ์ : ํน์ ๋ฒ์ ๊ฐ ์์กด์ฑ ์ถฉ๋ ์ ํด๊ฒฐ์ด ๋ณต์กํด์ง ์ ์์.
๊ทธ๋ ์ด๋ค์ ํ๋ก๊ทธ๋๋ฐ/์คํฌ๋ฆฝํ ์ค์ฌ์ ๋น๋ ๋๊ตฌ๋ก, ๋์ ์ ์ฐ์ฑ๊ณผ ์ต์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ํ์ง๋ง ์ด ์ ์ฐํจ์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์์ํ์ง ๋ชปํ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ ์ ์๋ค. ํนํ, ์ต์ ๋ฒ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋น๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ํ์ง๋ง ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ๋ฉ์ด๋ธ๋ณด๋ค ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ธ๋ค๋ ์ฅ์ ์ด ์๋ค.
์ฅ์
- ๋น ๋ฅธ ์๋: ์ฆ๋ถ ์ปดํ์ผ๊ณผ ๋ฐ๋ชฌ ๊ธฐ๋ฅ์ผ๋ก ๋๊ท๋ชจ ํ๋ก์ ํธ์์๋ ๋์ ์ฑ๋ฅ.
- ์ ์ฐ์ฑ: ํด๋ ๊ตฌ์กฐ์ ์ค์ ํ์ผ์ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅ.
- ์ต์ ๊ธฐ์ ์ง์: ์ต์ JVM ์ธ์ด(Groovy, Kotlin)๋ก ์ ์ฐํ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ ๊ฐ๋ฅ.
- ์์กด์ฑ ๊ด๋ฆฌ ๊ฐํ: ๊ฐ๋ ฅํ ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ ์ ๊ณต.
๋จ์
- ๋ณต์ก์ฑ: ์ ์ฐ์ฑ์ด ๋์์ง ๋งํผ, ์์์น ๋ชปํ ๋์์ด๋ ๋ฌธ์ ํด๊ฒฐ ์๊ฐ์ด ๊ธธ์ด์ง ์ ์์.
- ํธํ์ฑ ๋ฌธ์ : ์๋ก์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ต์ ๋ฒ์ ์ฌ์ฉ ์ ๋น๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ.
- ํ์ต ๊ณก์ : DSL ๊ธฐ๋ฐ์ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ์ ๋ฉ์ด๋ธ์ ๋นํด ๋ฐฐ์ฐ๊ธฐ๊ฐ ์ด๋ ต๋ค.
- ์์ ํ๋ก์ ํธ์์์ ํจ๊ณผ ์ ํ: ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ์์ ๊ท๋ชจ์์๋ ๋ฉ์ด๋ธ๊ณผ ์๋ ์ฐจ์ด๊ฐ ํฌ์ง ์์.
์คํ๋ง๋ถํธ๋ ๋ฉ์ด๋ธ๊ณผ ๊ทธ๋ ์ด๋ค ๋ชจ๋ ์ง์ํ๋ค. ์ด๋ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ง๋ ๊ฐ์ธ์ ์ทจํฅ์ ๋ฌ๋ฆฐ ๊ฒ ๊ฐ๋ค. ์ฑ ์์๋ ๋ ๋ฐฉ์ ๋ชจ๋ ๊ฒฝํํ ๋ค ๋๋ฆฌ๋๊ฑฐ ์ฐ์ธ์๋ผ๊ณ ๋งํ๊ณ ์๋ค.
์์ง ๋ ๋๊ตฌ ๋ชจ๋ ์ฌ์ฉํด๋ณด์ง ๋ชปํ์ง๋ง, ์ง๊ธ ๋น์ฅ ๋๋ฆฌ๋๊ฑด ๋ฉ์ด๋ธ์ธ ๊ฒ ๊ฐ๋ค. ์ผ๊ด์ ์ธ ๊ตฌ์กฐ์์ ์ค๋ ์์ ์ฑ์ด ๋งค๋ ฅ์ ์ธ ๊ฒ ๊ฐ๊ณ , ๋ฌด์๋ณด๋ค ์ด๋ฆ์ด ์ด์๋ค. ์คํ๋ง๋ถํธ๋ก ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ํธ๋ค๋ง ํ ์ผ๋ ์์ ๊ฒ ๊ฐ์์, ๊ทธ๋ ์ด๋ค์ ๋๊ท๋ชจ ํ๋ก์ ํธ์์์ ๋น ๋ฅธ ์๋๋ณด๋ค๋ ์์ ์ฑ์ด ๋์๊ฒ ๋ ์ ํฉํ ๋ฐฉ์์ธ ๊ฒ ๊ฐ๋ค . ์ค๋ฅ ์ซ์ด์
์ธ์ด
JVM์์๋ ๋ง์ ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ์๋ฐ์ ์ฝํ๋ฆฐ์ ๊ฐ์ฅ ๋ง์ด ์ด๋ค. ์๋ฐ๋ JVM์ ๊ทผ๋ณธ์ด๋ฉฐ, ์ฝํ๋ฆฐ์ JVM์ ์ฌ์ฉํ๋ ๋น๊ต์ ์ต์ ์ธ์ด์ด๋ค. ์คํ๋ง ๋ถํธ๋ ์๋ฐ์ ์ฝํ๋ฆฐ์ ์๋ฒฝํ ์ง์ํ๋ฉฐ, ํนํ ์คํ๋ง ๋ถํธ ํ๋ฉด ์๋ฐ, ์๋ฐํ๋ฉด ์คํ๋ง ๋ถํธ๊ฐ ์๊ฐ๋ ์ ๋๋ก...๋ผ๋ ค์ผ ๋ ์ ์๋ ๊ด๊ณ์ด๋ค.
์๋ฐโ
์๋ฐ๋ ๊ณต์ 1,0๋ฒ์ ์ดํ 25๋ ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ์ค๋๋์์ง๋ง, 2017๋ 9์ ์ดํ๋ถํฐ๋ ์ถ์ ์ฃผ๊ธฐ๊ฐ 6๊ฐ์๋ก ๋ฐ๋์ด ๊ธฐ๋ฅ ๊ฐ์ ์ด ์ฆ์, ๊พธ์คํ ๋ฐ์ ์ค์ธ ์ธ์ด์ด๋ค. Java Never Die๐
์๋ฐ๋ ์ค๋ซ๋์ ์ฌ์ฉ๋์๊ณ , ๊พธ์คํ ์ ๋ฐ์ดํธ ๋๋ฉด์๋ ์ด์ ๋ฒ์ ๊ณผ ์ผ๊ด๋๊ฒ ํธํ๋๋ค. ๋๋ถ์์ ์ธ๊ณ์์ ์๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฐ ๋ฒ ์ด์ค๋ก ๋ง๋ค์ด์ก๊ณ , ์ ์ง๋๊ณ , ๊ด๋ฆฌ๋๊ณ ๋ ์ง๊ธ๋ ๊ฐ๋ฐ๋๊ณ ์๋ค ๋๋ถ๋ถ์ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ๋ง์ผ๋ก ๊ฐ๋ฐ๋์๋ค.
์คํ๋ง ์ฝ๋๊ฐ ๋๋ถ๋ถ ์๋ฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด, ์๋ฐ ๋ฒ ์ด์ค ์คํ๋ง ๋ถํธ๋ ๋ง์ ์ด์ ์ด ์๋ค. .์๋ฐ๋ก ์์ฑ๋ ์์ ์ฝ๋, ์ํ ํ๋ก์ ํธ, ์์ํ๊ธฐ ๊ฐ์ด๋ ๋ฑ ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์์ ์ด ํจ์ฌ ์์ํ๋ค.
์ฝํ๋ฆฐ๐ฑ
์ฝํ๋ฆฐ์ 2010๋ JetBrains์์ ๊ฐ๋ฐํด, 2011๋ ๊ณต๊ฐ๋ ์ต์ ์ธ์ด์ด๋ค. ์๋ฐ์ ์ฌ์ฉ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ผ๋ฏ๋ก ์ค๊ณ ์ด๊ธฐ๋ถํฐ ๋ค์ ์ฌํญ์ ๊ณ ๋ คํ์ฌ ๊ฐ๋ฐ๋์๋ค.
- ๊ฐ๊ฒฐํจ
- ์์ ์ฑ- null ๊ฐ์ ๊ฐ๋ฅ์ฑ์ ์ฌ์ ์ ๊ฑฐ
- ์ํธ ์ด์-๊ธฐ์กด์ ๋ชจ๋ JVM, ์๋๋ก์ด๋, ๋ธ๋ผ์ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ์ฝ ์์ด ํธํํด ์ฌ์ฉ
- ๋๊ตฌ ์นํ์ฑ- ์๋ง์ IDE ๋๋ ๋ช ๋ น์ค๋ก ์ฝํ๋ฆฐ ์ ํ๋ฆฌ์ผ์ด์ ๋น๋
์ฝํ๋ฆฐ์ ๊ฐ๊ฒฐํ๊ณ ๋ ์ ์ฐํ ์ธ์ด์ด๋ค. ํ์ฅ ํจ์, ์ค์ ํ๊ธฐ๋ฒ ๋ฑ ๋ฌธ๋ฒ์ ํน์ง์ด ์๋ค. Language with language๋ฅผ ์ ์ํ์ฌ, API ์ค๊ณ์ ํฐ ๋์์ด ๋๋ค. ๊ฐ๊ฒฐํจ์ ํน์ง ๋๋ถ์ ์๋ฐ ๋ฒ ์ด์ค ์คํ๋ง๋ถํธ ์ฝ๋๋ณด๋ค๋ ๋ ์งง๊ณ ์ฝ๊ธฐ ์ฌ์ฐ๋ฉด์๋, ์ ๋ฌ๋ ฅ์ ๊ทธ๋๋ก ์ ์งํ๋ค.
์๋ฐ vs ์ฝํ๋ฆฐ
๋ ์ค ๋ญ ์ฐ๋๊ฒ ์ข์์ง ์ด์ฌํ ๊ณ ๋ฏผํ๊ณ ์์๋๋ฐ...
๊ทธ๋ฅ ๋ ๋ค ์ฐ๋ฉด ๋๋๊ฑฐ์๋ค.
์ฝํ๋ฆฐ์ ์๋ฐ์ ๋์ผํ JVM ๋ฐ์ดํธ์ฝ๋ ์ถ๋ ฅ์ผ๋ก ์ปดํ์ผ๋๋ฉฐ, ํ๋์ ํ๋ก์ ํธ ์์์ ์๋ฐ ์์ค์ ์ฝํ๋ฆฐ ํ์ผ์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ์คํ๋ง ํ๋ก์ ํธ ์์์ ์๋ฐ์ ์ฝํ๋ฆฐ ์ปดํ์ผ๋ฌ๋ฅผ ํจ๊ป ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ง๋ฆฌ ํ ๋ผ ๋ชจ๋ ์ก๊ธฐ๐๐๊ฐ ๊ฐ๋ฅํ๋ค.
๊ฒฐ๊ตญ ์๋ฐ์ ์ฝํ๋ฆฐ ๋ ์ค ์ด๋ ์ธ์ด๋ฅผ ์ธ ๊ฒ์ธ์ง๋ ์ทจํฅ์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค.
๋๋ ์๋ฐ๋ ์๊ณ , ์ฝํ๋ฆฐ์ ๊ฑฐ์ ๋ชจ๋ฅด๋ ์ํ์ด๋ค. ํ์ง๋ง ์๋ฐ๋ ๋ฐฐ์ฐ๊ธฐ๋ง ํ์ง ์์ด์ง 2๋ ์ด ๋ค ๋์ด๊ฐ๊ณ , ๋ ์๋ฐ๋ ๋ด๊ฐ ์ ์ผ์ ์ผ์ ์ผ ์ซ์ดํ๊ณ ๊ทนํํ๋ ์ธ์ด์ด๋ค. ๊ณ ์ hello world๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด system.out.println์ด๋ผ๋ ๊ฐ ๊ธด ๋ฌธ์ฅ์ ์จ์ผ ํ๋๊ฒ ํน๋ฐ๊ธฐ ๊ทธ์ง์๋ค.
์ฝํ๋ฆฐ์ ๊ฑฐ์ ๋ชจ๋ฅธ๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํ ์์ค์ผ๋ก ๊ธฐ๋ณธ ๋ฌธ๋ฒ๋ง ์์ง๋ง, ๊ทธ๋๋ ์๋ก์ด ๋์ ํ๋ ์ ์น๊ณ , ๋ง์นจ ์ ๋ฌธ์๋ ์์ผ๋ ์ฝํ๋ฆฐ์ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.(๋ฌผ๋ก ์ค์ต์ ์๋ฐ๋ก ๋ฐ๋ผํ ๊ฑฐ์ง๋ง,,,,๋ฐ๋ก ๊ณต๋ถํ์ ์ฝํ๋ฆฐ)
๋ฒ์ ์ ํํ๊ธฐ
๋ฒ์ ์ ํํ๊ธฐ ์ฑํฐ๊ฐ ์์ด์ ๋ฐฑ์๋ ์ธ๊ตฌ๋ค์ ์ด๋ค ์ธ์์ ํ๋๊ฑฐ๋...๋ผ๊ณ ๋๋ผ๊ณ ์์๋ค. ํ๋ก ํธ์๋ ํ๋ก์ ํธ๋ฅผ ํ ๋๋ ํน๋ณํ ์ด์ ๊ฐ ์๋ค๋ฉด ๊ฑฐ์ @latest์ด๊ณ , ๋ฐ๋ก ๋ฒ์ ์ ์ ํํ ์ ์ ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ต๊ทผ react 19์ ์ผ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธํ ๋ฌธ์ ๋๋ฌธ์ ๋ค์ด๊ทธ๋ ์ด๋ํ ๊ฒฝํ์ ์์ง๋ง ์๋์ ์ผ๋ก ๋ฒ์ ์ ๋ช ์ํ์ฌ ์ฌ์ฉํ ๊ฒฝํ์ ๊ฑฐ์ ์์๋ค.
๊ทผ๋ฐ ์๋๋ ๋ค๋ฅผ๊น ์คํ๋ง๋ถํธ๋ ๊ทนํ ์ผ๋ถ ์์ธ๋ ์์ ์ํฉ์ ์ ์ธํ๋ค๋ฉด, ์ค์ ํ๋ก๋ํธ๋ก ๋ฐฐํฌ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํญ์ ํ์ฌ ๋ฒ์ ์ ์คํ๋ง ๋ถํธ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ํ๋ค. ๋ฌผ๋ก ๋๋ ํ์ต ์ฉ๋๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ๊ต์ฌ์์ ์ฌ์ฉํ๋ ๋ฒ์ (๊ฝค๋ ์ค๋๋จ)์ ์ฌ์ฉํ์ฌ ์ค์ต์ ์งํํ๊ณ ์๋ค.
๊ฐ๋จํ๊ฒ ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ฌ์ฉํ ์ค์ ๋ค์ ์์๋ณด์๋ค. ๊ฐ ๋ฐฉ์์ ์ฅ๋จ์ ์ ์๊ณ , ์ ํ์ ํ ์ ์์๋ค. ์ค์ต ํ๊ฒฝ์์๋ Java๋ฅผ ์ฌ์ฉํ๊ณ , gradle-groovy๋ฅผ ์ฌ์ฉํ๊ณ ์์ง๋ง, Maven๊ณผ Kotlin์ด ๋ ๋ง์์ ๋๋ ๊ฒ ๊ฐ๋ค. ์ฑ ์ ๋ฐ๋ผ์ ์ค์ต์ ์งํํ๋, ์ฝํ๋ฆฐ์ ๋ณํํ๋ ๋ฐฉํฅ์ผ๋ก ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค. ์ง์ง ์๋ฐ ๋๋ฌด ์ซ์