์ด์ ํฌ์คํ ์์๋
1. ์๋ฐ ๊ธฐ์ด ์ง์ & ๊ฐ๋ฐ ํ๊ฒฝ์ค์ : JAVA JDK,Eclipse
๐ ๊ธฐ์ด์ง์๐ต์๋ฐ์ ํน์ง๊ฐ์ฒด ์งํฅ ์ธ์ด : ์์ ๋จ์์ ๋ ๋ฆฝ์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ , ์ด๋ฅผ ํฉ์ณ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๋ฐฉ์์ด์์ฑ : OSํ๊ฒฝ์ด ๋ฌ๋ผ๋ java ์ฝ๋ ๋ณ๊ฒฝ๋์ง ์์Multi-Thread : ๋ฉ
gsbd.tistory.com
Oracle JDK + Ecilpse ์กฐํฉ์ผ๋ก ์ฌ์ฉํ๋ ์ค์ ๋ฒ์ ๋ํด ๋ค๋ค๋๋ฐ
azul JDK + Vscode๋ก ํ๋ ๋ฐฉ๋ฒ(์ด๊ฒ ๋ ์ฌ์ด๋ฏ) ์ ์๋ก ์๊ฒ๋์ด ํฌ์คํ ํจ
(+ํ์๋ Vscode๋ฅผ ์์ฃผ ์ฌ์ฉํจ)

++ ) ์ดํด๋ฆฝ์ค ์ญ์ ๋ฐฉ๋ฒ
https://parkjye.tistory.com/48
[Eclipse/Windows 10] ์ดํด๋ฆฝ์ค ์ญ์ ํ ์ฌ์ค์น
# ์ดํด๋ฆฝ์ค๋ฅผ ์์ ์ญ์ ํ ์ฌ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์์ฑํ๊ฒ ์ต๋๋ค. ์์ ํ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ํ์ผ์ ์ญ์ ํด์ผ ํฉ๋๋ค. eclipse eclispe-workspace .eclipse .p2 ์ฌ๊ธฐ์ ์จ๊ธด ํด๋(.eclipse, .p2)๋ C:\Users\์ฌ์ฉ์์ด
parkjye.tistory.com
โป VS Code ์ค์น๋ฐฉ๋ฒ์ ๋ฐ๋ก ์ ์ง ์๊ฒ ์ต๋๋ค
๐ต ์๋ฐJDK(Java Development Kit) ์ค์น - Azul
https://www.azul.com/downloads/#zulu
Azul Downloads
No matter the size of your company, Azul offers competitive pricing options to fit your needs, your budget, and your ambition.
www.azul.com
1. Azul ํํ์ด์ง์์ JDK ๋ฐ๊ธฐ
์ ์ฃผ์ ์ ์ ํ ์๋์ฒ๋ผ 17๋ฒ์ ์ msi ๋ฅผ ๋ค์ด๋ฐ๊ณ ๊ทธ ๊ฒฝ๋ก์ ๋ฐ๋ก ์ค์น

2. ํ๊ฒฝ๋ณ์ ํ์ธ (๐ฐ์๋์ฐ + pause)
์์คํ ๊ฒ์ : '์์คํ ํ๊ฒฝ ๋ณ์ ํธ์ง'์ผ๋ก ์ง์ -> ์๋ ์ฌ์ง์ฒ๋ผ path์ ์ค๋ฃจ๊ฐ ์ต์๋จ์ผ๋ก ๋๋์ง ํ์ธ

3. ์์ ํด๋ ๋ง๋ค๊ธฐ
๐ฐ ํ์ผํ์๊ธฐ : ์ + E
๐ฐ ๊ฒฝ๋ก์ฃผ์ ์ ์ฒด์ ํ: alt + D
C:\java_workspace
3-1. ๊ฒฝ๋ก์ฃผ์๋ฅผ ์ ์ฒด์ ํ ํ > cmd ์ ๋ ฅํ๋ฉด ์ด ํด๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ๊ฐ๋ cmd์ฐฝ์ด ์ด๋ฆผ
- ํด๋ณด๊ธฐ : ์ด ๊ฒฝ๋ก์ cmd ๋ฅผ ์ด๊ณ โcode .โ ๋ฅผ ์ ๋ ฅ์, ์ด ๊ฒฝ๋ก์์ vscode๊ฐ ์คํ๋จ
4. ํ์ ์ต์คํ ์ ์ค์น
- Extension Pack for Java : ์๋ฐ๋ฅผ ์ํ ํ์ฅ๋ชจ์
- tabout : ํญ๋๋ฌ์ ๋์ด์ฐ๊ธฐ ๋์ ์๋ฆฌ์ฎ๊ฒจ์ง
- Getter and Setter Generator : ํด๋์ค ๊ฐ์ฒด์ ์ฝ๊ฒ Getter / Setter ์ฝ๊ฒ ์์ฑ
5. Vscode ์์ ์๋ฐ ํ์ผ ๋ง๋ค์ด ์ด๊ธฐ
๐ฐtip. ctrl + , ๋ฅผ ๋๋ฌ ์ค์ ์ ๋ค์ด๊ฐ๋ฉด
๐ฐ๋ช ๋ นํ๋ ํธ : ctrl + shift + p
๋ช ๋ นํ๋ ํธ ์ด๊ธฐ -> create java project -> no bulid ->
์๋ ์์ ํ๋ ค๊ณ ํ๋ ํด๋ ์ ํ (C:\java_workspace) (3-1์์ cmd๋ก ์ด์๋ค๋ฉด ์๋์ผ๋ก ๊ฒฝ๋ก์กํ์์) ->
ํ์ผ์ด๋ฆ ์ ๋ ฅ (ex. java)

6. ์ฒซ ์๋ฐ ์คํ
์ฑ ์๋ฐ ์ด์ด์ ์ฐ์ธก์๋จ run / ๋ฐ์ ์๋run๊ธ์ ๋๋ฅด๊ธฐ / ๋จ์ถํค ์ฌ์ฉํ๊ธฐ ๋ฑ์ผ๋ก ์คํ
๐ฐrun ๋จ์ถํค : ctrl + ` (์ธ๋ฐ ๋๋ ctrl + 3์ผ๋ก ๋ฐ๊ฟ์ ์)


โ ๏ธ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ์๊ธธ ์ ์๋๋ฐ ๋๋ฒ๊ฑฐ์ ์ค๋ฅ์ด๋ฏ๋ก ์ด์ ๋ฒ์ ์ผ๋ก ์ค์นํด์ฃผ๋ฉด ๋จ
(๋๋ 1๋ ์ ๋ฒ์ ์ธ 0.52.0 ์ผ๋ก ์ค์น)
'boolean org.eclipse.jdt.internal.core.SourceMethod.isMainMethodCandidate()'


๐ฐ Tip. ํฐ๋ฏธ๋ ์ฃผ์ ํํ๋ณ๊ฒฝ: ctrl + , ์ผ๋ก ์ค์ ์ด๋ -> win:shell ์์ ๋ณ๊ฒฝ

6. ์ปดํ์ผ๋ ์ฝ๋ ์คํํ๊ธฐ
์์์ ์์ ํ๊ณ ์๋ 'App.java'์ ๊ฒฝ๋ก (C:\java_workspace\java\src) ์์
- ๊ณผ์ 1 : ๋๋ ํ ๋ฆฌ ๋ด์ฉ ํ์ธ
cmd -> dir ์ํฐ
- ๊ณผ์ 2 : ์๋ฐ ์์ค ์ฝ๋ ์ปดํ์ผํ๊ธฐ
javac App.java ์ํฐ
โ๏ธ 'c'๋ 'compiler'(์ปดํ์ผ๋ฌ)์ ์ฝ์, ์ด ๋ช
๋ น์ด๋ฅผ ์ด์ฉํด ์๋ฐ์ ์์คํ์ผ App.java๋ฅผ byte์ฝ๋ (.class ํ์ผ)
๋ก ๋ณํํด์ฃผ์ด JVM(๊ธฐ๊ณ์ด์์ ๋ฒ์ญํด์ฃผ๋ ๊ธฐ๊ณ) ์์ ์คํ ํ ์ ์๊ฒ ํด์ค
๐์ด๋ Vscode ํ์๊ธฐ๋ ํ์ผ ํ์๊ธฐ์์ src ํด๋๋ฅผ ๋ณด๋ฉด ์ปดํ์ผ์ด ๋ App.class ํ์ผ์ด ์์ฑ๋จ์ ๋ณผ ์ ์์

- ๊ณผ์ 3 : ์ปดํ์ผ๋ ํ์ผ ์คํํ๊ธฐ
java app ์ํฐ
โ๏ธjava ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผ๋ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํ๊ฐ๋ฅ,
์ด๋๋ .class ํ์ผ์ ํ์ฅ์๋ฅผ ์ ์ธํ ํด๋์ค ์ด๋ฆ๋ง ์ ๋ ฅ

+ ํ๊ธ ์ผ ์ ๊นจ์งํ์ ํด๊ฒฐ
-vs ์ฝ๋์์๋ ์ธ์ฝ๋ฉ ์ด ์๋ผ์ง๋ง, cmd์์ ์ปดํ์ผํ๊ณ ์คํํ ๋ ๊นจ์ง์
์ปดํ์ผํ ๋ ' javac -encoding UTF-8 App.java' ๋ผ๊ณ ๊ธฐ๋ณธ์ธ์ฝ๋ฉ์ UTF-8๋ก ๋ณ๊ฒฝํจ


โ๏ธ์ค๋์ ํ๊ณ :
ํ์ ๊ฐ๊ฐํ๊ธฐ์ ์, ํ์์์ ๋ฏธ๋ฆฌ ์ธํฐ๋ท ๊ฐ์๋ฅผ ๋ณด๋๊ฒ ๋์์ด ๋ ๊ฑฐ๋ผ๊ณ ํด์
์์ตํ๋ฉด์ ์ธ๊ฐ ์์๋ฐ๋ผ ์ดํด๋ฆฝ์ค์ ์ค๋ผํดJDK ์กฐํฉ์ผ๋ก ๊น์๋๋
์ค์ต๊ฐ์ฌ ์ ์๋์ ๋ค๋ฅธ๊ฑธ ์ฌ์ฉํ๋ ๋ฐ๋์ ์ด ํฌ์คํ ์ผ๋ก ์ ๋ฆฌํ๋ฉด์ ๋ค์ ๊น์๋คใ ใ
์ ์๋๊ป ์ฌ์ญ์ด๋ณด๋ ๋ญ ์จ๋ ์๊ด์ ์๋ค๊ณ ํ์ จ๋๋ฐ,
๋๋ VScode๋ฅผ ๋ช๋ ์ผ๊ธฐ๋ ํ์ด์ ์ด ์กฐํฉ์ผ๋ก ๊ฐ๋๊ฒ ์ข์๊ฒ ๊ฐ๋ค
์ฌ์ค ํ์์์ c ์ ๊ณ ์ปดํ์ผํ๋๊ฑฐ ์ข ์ดํด๊ฐ ์๋๋๋ฐ ์ญ์
์ ๋ฆฌํ๋ฉด์ G์ธ๋ํํ ๋ฌผ์ด๋ณด๋ฉด์ ๋ณต์ตํ๋๊น
์ข ๋ ์ ์ดํด๋๊ณ ์ฌ๋ฐ๋๊ฒ ๊ฐ๋ค!
์ฌ์ง์ ์ค๋์ ํญ์ฐ๋ก ๋นํค๋ ์ํฐ๊ฐ ๋ ๋ถ์ฐ๊ณผ ์ง๊ธ์ ๋


