๐ŸŸช Backend-Java

1-2. ์ž๋ฐ” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ค์ • : JAVA JDK,Vscode + ์ปดํŒŒ์ผ ๋œ ์ฝ”๋“œ ์‹คํ–‰ํ•˜๊ธฐ

ramen2 2024. 6. 29. 21:34
๋ฐ˜์‘ํ˜•

 

์ด์ „ ํฌ์ŠคํŒ…์—์„œ๋Š”

https://gsbd.tistory.com/18

 

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 ํŒŒ์ผ์ด ์ƒ์„ฑ๋จ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ

์ปดํŒŒ์ผ ํ•˜์—ฌ ์ƒ๊ธด .classํŒŒ์ผ

 

- ๊ณผ์ •3 : ์ปดํŒŒ์ผ๋œ ํŒŒ์ผ ์‹คํ–‰ํ•˜๊ธฐ

java app ์—”ํ„ฐ

โœ๏ธjava ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰๊ฐ€๋Šฅ,

์ด๋•Œ๋Š” .class ํŒŒ์ผ์˜ ํ™•์žฅ์ž๋ฅผ ์ œ์™ธํ•œ ํด๋ž˜์Šค ์ด๋ฆ„๋งŒ ์ž…๋ ฅ

์‹คํ–‰์™„๋ฃŒํ™”๋ฉด

 

+ ํ•œ๊ธ€ ์ผ ์‹œ ๊นจ์งํ˜„์ƒ ํ•ด๊ฒฐ

-vs ์ฝ”๋“œ์—์„œ๋Š” ์ธ์ฝ”๋”ฉ ์ด ์ž˜๋ผ์ง€๋งŒ, cmd์—์„œ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ• ๋•Œ ๊นจ์งˆ์‹œ

์ปดํŒŒ์ผํ• ๋•Œ ' javac -encoding UTF-8 App.java' ๋ผ๊ณ  ๊ธฐ๋ณธ์ธ์ฝ”๋”ฉ์„ UTF-8๋กœ ๋ณ€๊ฒฝํ•จ

ํ•œ๊ธ€์ด ์ž˜ ๋‚˜์˜ด

 

 

 

 

 

 

 

โœ๏ธ์˜ค๋Š˜์˜ ํšŒ๊ณ :

ํ•™์› ๊ฐœ๊ฐ•ํ•˜๊ธฐ์ „์—, ํ•™์›์—์„œ ๋ฏธ๋ฆฌ ์ธํ„ฐ๋„ท ๊ฐ•์˜๋ฅผ ๋ณด๋Š”๊ฒŒ ๋„์›€์ด ๋ ๊ฑฐ๋ผ๊ณ ํ•ด์„œ

์˜ˆ์Šตํ•˜๋ฉด์„œ ์ธ๊ฐ• ์˜์ƒ๋”ฐ๋ผ ์ดํด๋ฆฝ์Šค์™€ ์˜ค๋ผํดJDK ์กฐํ•ฉ์œผ๋กœ ๊น”์•˜๋”๋‹ˆ

์‹ค์Šต๊ฐ•์‚ฌ ์„ ์ƒ๋‹˜์€ ๋‹ค๋ฅธ๊ฑธ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ”๋žŒ์— ์ด ํฌ์ŠคํŒ…์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด์„œ ๋‹ค์‹œ ๊น”์•˜๋‹คใ…Žใ…Ž

 

์„ ์ƒ๋‹˜๊ป˜ ์—ฌ์ญˆ์–ด๋ณด๋‹ˆ ๋ญ˜ ์จ๋„ ์ƒ๊ด€์€ ์—†๋‹ค๊ณ  ํ•˜์…จ๋Š”๋ฐ,

๋‚˜๋Š” VScode๋ฅผ ๋ช‡๋…„ ์ผ๊ธฐ๋„ ํ–ˆ์–ด์„œ ์ด ์กฐํ•ฉ์œผ๋กœ ๊ฐ€๋Š”๊ฒŒ ์ข‹์€๊ฒƒ ๊ฐ™๋‹ค

 

์‚ฌ์‹ค ํ•™์›์—์„œ c ์ ๊ณ  ์ปดํŒŒ์ผํ•˜๋Š”๊ฑฐ ์ข€ ์ดํ•ด๊ฐ€ ์•ˆ๋๋Š”๋ฐ ์—ญ์‹œ

์ •๋ฆฌํ•˜๋ฉด์„œ G์–ธ๋‹ˆํ•œํ…Œ ๋ฌผ์–ด๋ณด๋ฉด์„œ ๋ณต์Šตํ•˜๋‹ˆ๊นŒ

์ข€ ๋” ์ž˜ ์ดํ•ด๋˜๊ณ  ์žฌ๋ฐŒ๋Š”๊ฒƒ ๊ฐ™๋‹ค!

 

์‚ฌ์ง„์€ ์˜ค๋Š˜์˜ ํญ์šฐ๋กœ ๋น„ํ‚ค๋‹ˆ ์‹œํ‹ฐ๊ฐ€ ๋œ ๋ถ€์‚ฐ๊ณผ ์ง€๊ธˆ์˜ ๋‚˜

๋ถ€ํ‚ค๋‹ˆ์‹œํ‹ฐ

 

 

๋ฐ˜์‘ํ˜•