[JAVA] OUTLINE

์„ฑ์žฅ์ผ๊ธฐยท2024๋…„ 7์›” 10์ผ
0

[SWCAMP] JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
1/16
post-thumbnail

๊ฐœ์š” ๋ฐ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•

JAVA SE/EE/ME

JAVA SE(Standard Edition)

๐Ÿ’ก Java SE๋Š” ์ผ๋ฐ˜ PC, ์„œ๋ฒ„, ๊ณ ์‚ฌ์–‘ ์‹œ์Šคํ…œ ๋“ค์„ ์œ„ํ•œ ํ‘œ์ค€ ์ž๋ฐ” ํ”Œ๋žซํผ์ด๋‹ค.
ํ‘œ์ค€์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ง€์›ํ•˜๋Š” ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹  ๊ทœ๊ฒฉ ๋ฐ API๋ฅผ ํฌํ•จํ•œ๋‹ค.

์ฆ‰ ์ž๋ฐ” ์–ธ์–ด๋ผ๊ณ  ํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ๋œ ์—๋””์…˜์ด๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ์ž˜ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  java.lang.*, java.util.*, java.io.* ๋“ฑ๋“ฑ์ด ์žˆ๋‹ค.

JAVA EE(Enterprise Edition)

๐Ÿ’ก Java EE๋Š” ์ž๋ฐ”๋ฅผ ์ด์šฉํ•ด ์„œ๋ฒ„์ธก ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋žซํผ์ด๋‹ค.
EJB ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ์ปดํฌ๋„ŒํŠธ, JSP, Sevlet, JNDI ๋“ฑ์„ ํฌํ•จํ•œ ๊ฐœ๋ฐœ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

์ฆ‰ ์ž๋ฐ”๋กœ ๊ตฌํ˜„๋˜๋Š” ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

JAVA ME(Micro Edition)

๐Ÿ’ก Java ME๋Š” ์ œํ•œ๋œ ์ž์›์„ ๊ฐ€์ง„ ๋ชจ๋ฐ”์ผ๊ณผ ๊ฐ™์€ ํ•œ์ •๋œ ์ž์›์„ ๊ฐ€์ง„ ๊ณณ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ”Œ๋žซํผ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

JDK ์™€ JRE

๐Ÿ’ก JDK(Java Development Kit) ๋Š” โ€˜์ž๋ฐ” ๊ฐœ๋ฐœ ํ‚คํŠธโ€™์˜ ์•ฝ์ž์ด๋‹ค.
JDK๋Š” ์ž๋ฐ” ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์š”ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ(javac)๋‚˜ ์ž๋ฐ”์ฝ˜์†”, javadoc, ๋“ฑ๊ณผ ๊ฐ™์€ ํ‚คํŠธ(kit)๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ์„ฑํ•˜๊ณ  ์ปดํŒŒ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

JRE(Java Runtime Environment) ๋Š” โ€˜์ž๋ฐ” ์‹คํ–‰ ํ™˜๊ฒฝโ€™์˜ ์•ฝ์ž์ด๋‹ค.
์ž๋ฐ”๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์€ JRE๊ฐ€ ์žˆ์–ด์•ผ ๊ธฐ๋™์ด ๊ฐ€๋Šฅํ•œ๋ฐ, JRE๋Š” ์ž๋ฐ” ๊ฐ€์ƒ๋จธ์‹ (Java Virtual Machine) ๊ณผ ์ž๋ฐ” ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Java Class Library), ์ž๋ฐ” ๋ช…๋ น(Java Command)๋ฅผ ํฌํ•จํ•œ ์ž๋ฐ” ์‹คํ–‰์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • JDK๋Š” JRE๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. Java ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰๋งŒ ํ•œ๋‹ค๋ฉด JRE๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋˜์ง€๋งŒ, Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•œ๋‹ค๋ฉด JDK๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.

Oracle JDK ์™€ Open JDK

  • JDK๋Š” Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด๋‹ค. JDK๋Š” 2๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.
    • Oracle JDK
    • Open JDK
๋น„๊ตOracle JDKOpen JDK
๋น„์šฉ์œ ๋ฃŒ๋ฌด๋ฃŒ
๋ผ์ด์„ ์ŠคBCL(Oracle Binary Code License)GPL v2 with the Classpath Exception
์ง€์›LTS(3๋…„๊ฐ„ ์žฅ๊ธฐ ์ง€์›)LTS ์—†์œผ๋ฉฐ 6๊ฐœ์›”๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๋ฒ„์ „ ์ถœ์‹œ
ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ณตSun Micro Systems ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ณต๋ฏธ์ œ๊ณต
์„ฑ๋ŠฅCPU/๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์ŒCPU/๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์Œ
  • ๋‘˜ ๋‹ค Oracle์—์„œ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค. ๊ธฐ์กด OpenJDK์™€ OracleJDK๋Š” ํ˜ธํ™˜๋˜์ง€ ์•Š์•˜์ง€๋งŒ, Java 8 ๋ฒ„์ „ ์ดํ›„์—๋Š” ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.
  • OpenJDK๋Š” ์˜ค๋ผํด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋“œํŒŒํ‹ฐ ์—…์ฒด๊ฐ€ OpenJDK ๊ธฐ๋ฐ˜์œผ๋กœ JDK ์ œ์ž‘ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๋‹ค.
  • OpenJDK๊ฐ€ ๋ฌด๋ฃŒ๋ผ์„œ ์šด์˜ ํ™˜๊ฒฝ์— ์‚ฌ์šฉํ•˜๊ธฐ ๋‘๋ ค์šธ ์ˆ˜ ์žˆ์œผ๋‚˜ TCK ์ธ์ฆ์„ ๋ฐ›์€ OpenJDK ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ ์—†๋‹ค.
    (TCK : Oracle ์‚ฌ์˜ JDK ์‹ฌ์‚ฌ ๊ธฐ์ค€)

JDK ์„ธํŒ…

Open JDK ์„ธํŒ…ํ•˜๊ธฐ

  1. Open JDK 17 ๋ฒ„์ „์„ ๊นƒํ—ˆ๋ธŒ์—์„œ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๋งํฌ์— ๋จผ์ € ์ ‘์†ํ•œ๋‹ค.

    GitHub - ojdkbuild/ojdkbuild: Community builds using source code from OpenJDK project

  1. java-17-openjdk
  • zip ํŒŒ์ผ๊ณผ msi ํŒŒ์ผ์ด ์žˆ๋Š”๋ฐ, ์„ค์น˜ ๊ณผ์ •์ด ์กฐ๊ธˆ ๋‹ค๋ฅผ ๋ฟ์ด์ง€ ์„ค์น˜๋˜๋Š” ๊ฒƒ์„ ๋˜‘๊ฐ™๋‹ค. ์šฐ๋ฆฌ๋Š” zip ํŒŒ์ผ๋กœ ์„ธํŒ…ํ•ด๋ณด์ž.

  1. ๋‹ค์šด ๋ฐ›์€ JDK ์••์ถ• ํŒŒ์ผ์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์— ์ด๋™์‹œํ‚จ ํ›„ ์••์ถ•์„ ํ•ด์ œํ•œ๋‹ค. ์••์ถ• ํ•ด์ œ์‹œ ํด๋”๋ช…์ด ๊ธธ์ง€ ์•Š๋„๋ก ์ž˜ ์„ค์ •ํ•œ๋‹ค.

  2. ์••์ถ• ํ•ด์ œํ•œ JDK ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ๋ฏธ๋ฆฌ ๋ณต์‚ฌํ•ด๋‘”๋‹ค.(bin ํด๋”๊ฐ€ ๋ณด์ด๋Š” ์œ„์น˜์˜ ๊ฒฝ๋กœ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค)

  3. ์ดํ›„์— ์••์ถ• ํ•ด์ œํ•œ jdk๋ฅผ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋“ฑ๋ก์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. Windows + R ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์‹คํ–‰์ฐฝ์ด ์—ด๋ฆฌ๋ฉด sysdm.cpl ,3 ์„ ์ž…๋ ฅํ•œ๋‹ค. ์‹œ์Šคํ…œ ์†์„ฑ ์ฐฝ์ด ์—ด๋ฆฌ๋ฉด ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. (or Window ํ‚ค ๋ˆ„๋ฅด๊ณ  ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ฒ€์ƒ‰)

  1. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฐฝ์ด ์—ด๋ฆฌ๋ฉด ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ ํƒญ์— ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ ์—ด๋ฆฐ ์ฐฝ์— ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ด์ค€ ํ›„ ํ™•์ธ์„ ๋ˆ„๋ฅธ๋‹ค.
    • ๋ณ€์ˆ˜ ์ด๋ฆ„ : JAVA_HOME
    • ๋ณ€์ˆ˜ ๊ฐ’ : JDK ์••์ถ•ํ•ด์ œํ•œ ๊ฒฝ๋กœ(bin ํด๋” ๋ณด์ด๋Š” ์œ„์น˜๊นŒ์ง€)
  1. ์‹œ์Šคํ…œ ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด ์ค€ ๋‹ค์Œ์—” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ํƒญ์— Path๋ฅผ ํด๋ฆญํ•˜๊ณ  ํŽธ์ง‘์„ ๋ˆ„๋ฅธ๋‹ค.

  1. ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ˆ„๋ฅด๊ณ  %JAVA_HOME%\bin ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ถ”๊ฐ€ํ•œ ๋ผ์ธ์„ ์œ„๋กœ ์ด๋™์„ ๋ˆŒ๋Ÿฌ ์ƒ๋‹จ์œผ๋กœ ์ด๋™์‹œํ‚จ ํ›„ ํ™•์ธ์„ ๋ˆ„๋ฅธ๋‹ค. (์ƒ๋‹จ์œผ๋กœ ์ด๋™์‹œํ‚จ ์ด์œ ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ฐพ์„ ๋•Œ Path ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋“ฑ๋ก๋œ ์ˆœ์„œ๋Œ€๋กœ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.)

  1. cmd ์ฐฝ์„ ์—ด์–ด JDK ๊ฒฝ๋กœ๊ฐ€ ์ž˜ ์„ธํŒ… ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. Windows + R ์„ ๋ˆŒ๋Ÿฌ์„œ ์‹คํ–‰์ฐฝ์ด ์—ด๋ฆฌ๋ฉด cmd๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ํ™•์ธ์„ ๋ˆ„๋ฅด๋ฉด ๊นŒ๋งŒ ๋„์Šค์ฐฝ์ด ๋œจ๊ฒŒ ๋œ๋‹ค. ์ด ์ƒํƒœ์—์„œ java -version ๋ฅผ ์ž…๋ ฅํ•ด๋ณธ๋‹ค.

    $ **java -version**
    openjdk version "17.0.3" 2022-04-19 LTS
    OpenJDK Runtime Environment 21.9 (build 17.0.3+6-LTS)
    OpenJDK 64-Bit Server VM 21.9 (build 17.0.3+6-LTS, mixed mode, sharing)

    ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์ž๋ฐ” ๋ฒ„์ „์ด ์ž˜ ์ถœ๋ ฅ๋œ๋‹ค๋ฉด JDK ์„ธํŒ…์€ ์™„๋ฃŒ๋œ ๊ฒƒ์ด๋‹ค.

IDE

๐Ÿ’ก IDE๋Š” ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(Integrated Development Environment)์˜ ์•ฝ์ž์ด๋‹ค.
IDE๋Š” ์ฝ”๋”ฉ, ๋””๋ฒ„๊ทธ, ์ปดํŒŒ์ผ, ๋ฐฐํฌ ๋“ฑ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ์ž‘์—…์„ ์ง€์›ํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.
IDE๊ฐ€ ์žˆ๊ธฐ ์ „์—” ์ปดํŒŒ์ผ๋Ÿฌ, ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ ๋ฅผ ๊ฐ๊ฐ ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.
์ด๋Ÿฌํ•œ ๊ฐœ๋ฐœ์€ ๋ถˆํŽธํ•œ ์ ์ด ๋„ˆ๋ฌด ๋งŽ์•˜๊ณ , ์ด๋Ÿฌํ•œ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•˜๊ณ ์ž ๋‚˜์˜จ ๊ฒƒ์ด IDE์ด๋‹ค.

IDE ๊ธฐ๋Šฅ

  • ํ…์ŠคํŠธ ์—๋””ํ„ฐ(Text Editor) : ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ
  • ๋นŒ๋”(Builder) : ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰
  • ๋””๋ฒ„๊ฑฐ(Debugger) : ์ž‘์„ฑํ•œ ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์—†๋Š”์ง€ ์ฒดํฌ
  • ํ”Œ๋Ÿฌ๊ทธ์ธ(Plug-in) : ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
  • ์™„์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ

Eclipse

๐Ÿ’ก ์ดํด๋ฆฝ์Šค๋Š” ์ดํด๋ฆฝ์Šค ์žฌ๋‹จ์—์„œ ๋งŒ๋“  ์ž๋ฐ”๋ฟ๋งŒ ์•„๋‹ˆ๋ผ
๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด์ž ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋„๊ตฌ์ด๋‹ค.

์ดํด๋ฆฝ์Šค๋Š” IBM์˜ ์›น์Šคํ”ผ์–ด ์ŠคํŠœ๋””์˜ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋””๋ฒจ๋กœํผ(WebSpheare Studio Application Developer)๋ž€ ์ด๋ฆ„์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์—ˆ๋Š”๋ฐ, ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋œ ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง€๊ธˆ์˜ ์ดํด๋ฆฝ์Šค๋กœ ๋ฐœ์ „ํ•ด์™”๋‹ค

Eclipse ์„ค์น˜ํ•˜๊ธฐ

  1. ์ดํด๋ฆฝ์Šค ํ™ˆํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ„๋‹ค.

  1. ํ™”๋ฉด์— ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” Download ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

  1. Download Packages ๋ถ€๋ถ„์„ ํด๋ฆญํ•œ๋‹ค.

  1. Eclipse IDE for Enterprise Java and Web Developers ํƒญ์—์„œ ์ž์‹ ์— ๋งž๋Š” OS ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ๋Š” Eclipse IDE 2022-09 ๋ฒ„์ „์„ ๋ฐ›๋Š” ํŽ˜์ด์ง€์ด์ง€๋งŒ, ์ด์ „ ๋ฒ„์ „๋„ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด์ฃผ๊ณ  ์žˆ๋‹ค.

  1. OS ์— ๋งž๋Š” ๋ฒ„์ „์œผ๋กœ ํด๋ฆญํ•˜๋ฉด Download ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค. ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ Select Another Mirror๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ•œ๊ตญ ์„œ๋ฒ„์—์„œ ๋‹ค์šด ๋ฐ›์œผ๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ๋‹ค์šด์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  1. ๋ฐ›์€ ์••์ถ• ํŒŒ์ผ์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ํด๋”์— ์˜ฎ๊ธด ํ›„ ์••์ถ•์„ ํ•ด์ œํ•œ๋‹ค. ์••์ถ• ํ•ด์ œ๊ฐ€ ์ง„ํ–‰๋  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๊ฒฝ๋กœ๊ฐ€ ์„ธํŒ… ๋˜๋‹ˆ ์‰ฌ์šด ๊ฒฝ๋กœ์— ์••์ถ• ํ•ด์ œ๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ๋˜ํ•œ ์••์ถ• ํ•ด์ œํ•  ๋•Œ์— ๊ฒฝ๋กœ๊ฐ€ ๋„ˆ๋ฌด ๊นŠ๊ฑฐ๋‚˜ ์••์ถ• ํ•ด์ œ ๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๊ธธ์–ด์ง€๋Š” ๊ฒฝ์šฐ ์ œ๋Œ€๋กœ ์••์ถ• ํ•ด์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ์••์ถ• ํ•ด์ œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์‹คํ–‰ํŒŒ์ผ์˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋ฐ”ํƒ•ํ™”๋ฉด์ด๋‚˜ ์ž‘์—…ํ‘œ์‹œ์ค„์— ๊ณ ์ •์‹œ์ผœ์ค€๋‹ค.

์ดํด๋ฆฝ์Šค ์‚ฌ์šฉ

  • ์ดํด๋ฆฝ์Šค ์ดˆ๊ธฐ ์„ธํŒ…

    1. ์ดํด๋ฆฝ์Šค ์‹คํ–‰ ๋ฐ Workspace ์ƒ์„ฑ

      • ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๋ฅผ ๋ชจ์•„๋‘˜ workspace ๋ฅผ ์ง€์ • ๋˜๋Š” ์ƒ์„ฑํ•˜์—ฌ Launch ๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

    2. ์ฒซ ๊ธฐ๋™ ์‹œ ์—ฌ๋Ÿฌ ์ฐฝ๋“ค์ด ์—ด๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ Project Explorer ๋นผ๊ณ  ๋‹ค ๋‹ซ๋Š”๋‹ค.

    3. Java ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์œผ๋กœ ์„ธํŒ…์„ ํ•œ๋‹ค.

    4. ๊ฐœ๋ฐœํ•˜๊ธฐ ์ „ ํ•œ๊ธ€์ด ๊นจ์ง€์ง€ ์•Š๊ฒŒ UTF-8 ์ธ์ฝ”๋”ฉ ์„ค์ •์„ ํ•ด์ค€๋‹ค.

      • Window โ†’ Preferences ๋กœ ๋“ค์–ด๊ฐ€์„œ encoding, spell ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํ‘œ์‹œํ•œ ํƒญ์—์„œ UTF-8 ๋กœ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.

        		- ![](https://velog.velcdn.com/images/rlfgks97/post/03d47fb9-244f-4d10-b0fa-875c92a9778e/image.png)
  • ์ดํด๋ฆฝ์Šค ํ”„๋กœ์ ํŠธ ๋ฐ ํด๋ž˜์Šค ์ƒ์„ฑํ•˜๊ธฐ
  1. ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑ์‹œ File โ†’ New โ†’ Java Project


  1. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ Java ๋ฒ„์ „์„ 11๋กœ ์„ธํŒ…ํ•œ ํ›„ Finish ๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

  1. src ํด๋” ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•œ ํ›„ New โ†’ Class ๋กœ ํด๋ž˜์ŠคํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.

  1. ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ public static void main(โ€ฆ) ์„ ์ฒดํฌํ•œ ํ›„ Finish ๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

  1. ์ƒ์„ฑ๋œ ์ž๋ฐ” ํด๋ž˜์Šค์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ›„ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ฝ˜์†”ํƒญ์— ์‹คํ–‰๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ์ดํด๋ฆฝ์Šค ํ”„๋กœ์ ํŠธ Export(๋‚ด๋ณด๋‚ด๊ธฐ) & Import(๊ฐ€์ ธ์˜ค๊ธฐ)
  1. ์ž‘์—…์ค‘์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚ด๋ณด๋‚ด๊ธฐ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•œ ํ›„ Export๋ฅผ ๋ˆ„๋ฅธ๋‹ค


  1. Archive File ์„ ์„ ํƒํ•œ ํ›„ Next

  2. Browse ๋ฅผ ๋ˆ„๋ฅด๊ณ  ์ €์žฅํ•  ๊ฒฝ๋กœ๋ฅผ ์ฐพ๊ณ  export ํ•  ํŒŒ์ผ์ด๋ฆ„์„ ์ง€์ •ํ•œ ๋’ค ์ €์žฅ์„ ํด๋ฆญ ํ›„ Finish ๋ˆ„๋ฅธ๋‹ค.

  3. Export ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  1. Export ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ Import ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” File โ†’ Import ๋ฅผ ํด๋ฆญํ•œ๋‹ค.

  2. General โ†’ Existing Projects into Workspace ๋ฅผ ์„ ํƒํ›„ Next๋ฅผ ๋ˆ„๋ฅธ๋‹ค

  3. export ํ•  ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„์„œ Finish๋ฅผ ๋ˆŒ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ Import ํ•œ๋‹ค.

  • ์ดํด๋ฆฝ์Šค ๋‹จ์ถ•ํ‚ค
    ๋‹จ์ถ•ํ‚ค์„ค๋ช…
    ์ž๋ฐ” ์—๋””ํ„ฐ ๋‹จ์ถ•ํ‚ค
    Ctrl + Shift + F์†Œ์Šค ์ฝ”๋“œ ์ž๋™ ์ •๋ ฌ
    Ctrl + Shift + L๋‹จ์ถ•ํ‚ค ํ™•์ธํ•˜๊ธฐ
    Ctrl + Shift + O์†Œ์Šค์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ Import ํ•˜๊ธฐ
    Ctrl + Shift + R๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ํŒŒ์ผ ๊ฒ€์ƒ‰
    Ctrl + Shift + \ ์„ ํƒ ์˜์—ญ ์ฃผ์„ ํ•ด์ œ
    Ctrl + Shift + /์„ ํƒ ์˜์—ญ ์ฃผ์„ ์„ค์ •
    Ctrl + Alt + up/downํ˜„์žฌ ๋ผ์ธ ๋ณต์‚ฌ
    Ctrl + F11์†Œ์Šค์ฝ”๋“œ ์‹คํ–‰
    Ctrl + /์„ ํƒ ์˜์—ญ ๋˜๋Š” ํ•œ ์ค„ ์ฃผ์„ ์„ค์ • ๋ฐ ํ•ด์ œ
    Ctrl + Dํ•œ ์ค„ ์‚ญ์ œ
    Ctrl + H๊ฒ€์ƒ‰ ๋ฐ ์ผ๊ด„ ๋ณ€๊ฒฝ
    Ctrl + I์†Œ์Šค ์ฝ”๋“œ ์ž๋™ ์ •๋ ฌ
    Ctrl + LํŠน์ • ๋ผ์ธ์œผ๋กœ ์ด๋™
    Ctrl + Spacebar์ž๋™ ์™„์„ฑ
    ๋””๋ฒ„๊น… ๋‹จ์ถ•ํ‚ค
    Ctrl + Shift + Bํ˜„์žฌ ์ปค์„œ ์œ„์น˜์— Break Point ์„ค์ • / ํ•ด์ œ
    F11๋””๋ฒ„๊น… ์‹œ์ž‘
    F8๋””๋ฒ„๊น… ๊ณ„์†
    F6ํ•œ ์ค„์”ฉ ์‹คํ–‰
    F5ํ•œ ์ค„์”ฉ ์‹คํ–‰ํ•˜๋˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฉ”์†Œ๋“œ ์•ˆ์œผ๋กœ ์ด๋™

Intellij

๐Ÿ’ก Intellij ๋ž€ JetBrains ์‚ฌ์—์„œ ๋งŒ๋“  ์ƒ์šฉ ์ž๋ฐ” ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด๋‹ค.
2001๋…„ ์ฒซ ์ถœ์‹œ ๋•Œ๋ถ€ํ„ฐ ํŽธ์˜์„ฑ์ด๋‚˜ ๋‹ค์–‘ํ•œ ๋ฆฌํŒฉํ† ๋ง ์ง€์› ์ธก๋ฉด์—์„œ ๋งŽ์€ ์ธ์ •์„ ๋ฐ›๊ณ  ๋งŽ์€ ์ธ๊ธฐ๋ฅผ ๋ˆ„๋ฆฌ๊ณ  ์žˆ๋‹ค.

์ดํด๋ฆฝ์Šค์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ฐœ๋…์ด ์—†๋‹ค. ํ”„๋กœ์ ํŠธ ๋‹จ์œ„๋กœ ์ƒ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•œ๋‹ค.
Intellij ๋Š” ๋ฌด๋ฃŒ ๋ฒ„์ „์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜๊ณผ ์œ ๋ฃŒ ๋ฒ„์ „์ธ ์–ผํ‹ฐ๋ฐ‹ ์—๋””์…˜์œผ๋กœ ๋‚˜๋‰œ๋‹ค. (์–ผํ‹ฐ๋ฐ‹ ์—๋””์…˜์€ 1๋‹ฌ ๋ฌด๋ฃŒ ์ฒดํ—˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค)

  • ์–ผํ‹ฐ๋ฐ‹ ์—๋””์…˜ vs ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜

์ธํ…”๋ฆฌ์ œ์ด ์„ค์น˜ํ•˜๊ธฐ

  1. ์ธํ…”๋ฆฌ์ œ์ด ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†ํ•œ๋‹ค.

    IntelliJ IDEA: ์šฐ์ˆ˜์„ฑ๊ณผ ์ธ์ฒด ๊ณตํ•™์ด ๋‹ด๊ธด JetBrains Java IDE

  2. ํ™”๋ฉด์— ์œ„์น˜ํ•œ ๋‹ค์šด๋กœ๋“œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

  3. ๋‹ค์šด ๋ฐ›์„ ๋ฒ„์ „์„ ์„ ํƒํ•˜์—ฌ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค. Community ๋ฒ„์ „์„ ๋‹ค์šดํ•ด๋ณธ๋‹ค.

  4. ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. (Next โ†’ check โ†’Install ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค)

์ธํ…”๋ฆฌ์ œ์ด ์‚ฌ์šฉ

  • ์ธํ…”๋ฆฌ์ œ์ด ์ธ์ฝ”๋”ฉ ์„ค์ •
  1. ์ธํ…”๋ฆฌ์ œ์ด๊ฐ€ ์„ค์น˜๋œ ์œ„์น˜๋กœ ์ด๋™ํ•˜์—ฌ .vmoptions ํŒŒ์ผ ์ค‘ ์ž์‹ ์˜ OS bit์™€ ๋งž๋Š” ํŒŒ์ผ์„ ์—ด์–ด
  • -Dfile.encoding=UTF-8 ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ์ €์žฅํ•œ๋‹ค.(์ธํ…”๋ฆฌ์ œ์ด๊ฐ€ ์—ด๋ ค์žˆ๋Š” ์ƒํƒœ์˜€๋‹ค๋ฉด ๋‹ค์‹œ ๊ธฐ๋™ํ•œ๋‹ค)
  1. ํŒŒ์ผ โ†’ ์„ค์ • ์ฐฝ์„ ์—ด์–ด์„œ ํŒŒ์ผ ์ธ์ฝ”๋”ฉ ํƒญ์—์„œ UTF8๋กœ ๋ณ€๊ฒฝ ํ›„ ํ™•์ธ์„ ๋ˆ„๋ฅธ๋‹ค.

  • ์ธํ…”๋ฆฌ์ œ์ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

    1. ์ธํ…”๋ฆฌ์ œ์ด ๊ธฐ๋™ํ•˜๋ฉด ๋จผ์ € ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

    2. ์ƒˆ ํ”„๋กœ์ ํŠธ ํƒญ์—์„œ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ JDK ๋ฒ„์ „ ์„ค์ • ์„ธํŒ… ํ›„ ์ƒ์„ฑ์„ ๋ˆ„๋ฅธ๋‹ค.

    3. ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

  • ์ธํ…”๋ฆฌ์ œ์ด ํด๋ž˜์Šค ์ƒ์„ฑํ•˜๊ธฐ

  • src ์˜ค๋ฅธ์ชฝ ํด๋ฆญ โ†’ ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ โ†’ Java ํด๋ž˜์Šค โ†’ ํด๋ž˜์Šค ์„ ํƒ โ†’ ํด๋ž˜์Šค ์ด๋ฆ„ ์„ค์ • ํ›„ ์—”ํ„ฐ

  • ์ธํ…”๋ฆฌ์ œ์ด ํ”„๋กœ์ ํŠธ Export(๋‚ด๋ณด๋‚ด๊ธฐ) & Import(๊ฐ€์ ธ์˜ค๊ธฐ)

    1. File โ†’ Export(๋‚ด๋ณด๋‚ด๊ธฐ) โ†’ Project to zip Fileโ€ฆ ์„ ํด๋ฆญํ•œ๋‹ค.

    2. Export ํ•  ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๊ณ  ํ™•์ธ์„ ๋ˆ„๋ฅธ๋‹ค.

    3. Import ํ•  ํŒŒ์ผ์„ ์••์ถ• ํ•ด์ œ๋ฅผ ํ•ด๋‘” ์ƒํƒœ์—์„œ ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ์—ด์–ด์„œ ๊ธฐ๋™์‹œํ‚ค๋ฉด Import๊ฐ€ ๋œ๋‹ค.

  • ์ธํ…”๋ฆฌ์ œ์ด ๋‹จ์ถ•ํ‚ค

    ๋‹จ์ถ•ํ‚ค์„ค๋ช…
    F2์˜ค๋ฅ˜ ๋ฐœ์ƒํ•œ ๊ณณ์œผ๋กœ ์ด๋™
    Ctrl + /์„ ํƒ ์˜์—ญ ๋˜๋Š” ํ•œ ์ค„ ์ฃผ์„ ์„ค์ • ๋ฐ ํ•ด์ œ
    Ctrl + Dํ˜„์žฌ ์ปค์„œ๊ฐ€ ์žˆ๋Š” ๋ผ์ธ ๋ณต์ œ
    Shift + F6๋ณ€์ˆ˜๋ช… ์ „์ฒด ๋ณ€๊ฒฝ
    Shift + F10ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰
    Ctrl + Space์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ
    Alt + Insert์ƒ์„ฑ์ž, getter(), setter(), toString() ์ž๋™ ์ƒ์„ฑ
    Ctrl + Alt + V๋ฉ”์„œ๋“œ์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…๊ณผ ๋ณ€์ˆ˜ ์ž๋™ ์ž‘์„ฑ
    Ctrl + Alt + SSetting ์ฐฝ
    Ctrl + Alt + L์ฝ”๋“œ ์ž๋™ ์ •๋ ฌ
    Ctrl + Alt + T์ฝ”๋“œ๋กœ ๊ฐ์‹ธ๊ธฐ(if-else, try-catch, for, ๋“ฑ๋“ฑ)
    Ctrl + Alt + Shift + SProject Structure ์ฐฝ
    Ctrl + Shift + Enter; ์ž๋™ ์ž…๋ ฅ
    Ctrl + Shift + U๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ
    Ctrl + Shif + up/down์ฝ”๋“œ๋ธ”๋ก ์ด๋™
profile
์—”์ง€๋‹ˆ์–ด๋กœ์˜ ์„ฑ์žฅ์ผ์ง€

0๊ฐœ์˜ ๋Œ“๊ธ€