์ฒ์๋ถํฐ ์ฐฌ์ฐฌํ
F-Lab ๋ฉํ ๋ง ์์ ์ , ์๋ฐ์ ์ ์์ต ์๊ฐ์ ๊ฐ์ง๊ธฐ๋ก ํ๋ค. ์ค๋์ ๊ทธ ๋๋ง์ ์ฒซ ๋ ์ด๋ค. ์ฒ์ ํผ๊ณต์๋ก Java ๋ ํ ํ์ ๋์ ๋ง์๊ฐ์ง์ผ๋ก ์ฐ๋ปํ๊ฒ ์์ํด๋ณด์!
- Java Version : Java 11 OpenJDK
- OS : Mac OS Big Sur 11.1
- Utils : iTerm, oh-my-zsh, vi, Sublime Text ๋ฑ
public static void main(String[] args) {}
๋๋ ์ง๊ธ๊น์ง ๊ฐ๋ฐ์ ํ๋ฉด์ MSG ๊ฐ์ IDE์ ๋ง์ ํน ๋น ์ ธ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ Java๊ฐ ๋์ํ๋ ์๋ฆฌ, ์ฌ์ง์ด ์ฝ์์์ ์ด๋ป๊ฒ Java ํ์ผ์ ์ปดํ์ผ ํด์ผ ํ๋์ง ์๊ณ ์ด์๋ค. ์ด๋ฒ ๊ธฐํ๋ฅผ ํตํด IDE๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Java ํ์ผ์ ๋ง๋ค๊ณ , ๋ช ๋ น์ด๋ก ์ง์ ํด๋น ํ์ผ์ ์คํํด๋ณด๊ณ ์ ํ๋ค.
์ฑ ์์๋ Windows๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๊ณ ์๋๋ฐ, ๋๋ Mac OS๋ฅผ ์ฌ์ฉํ๊ณ ์์ด ๋ช ๋ น์ด์ ๋ํด ํผ๋์ด ์กฐ๊ธ ์์๋ค. ํฐ๋ฏธ๋์์ ์ง์ Java ํ์ผ์ ๋ง๋ค๊ณ ์ถ์๋๋ฐ copy con ๋ช ๋ น์ด๋ฅผ ์๊พธ ์ฐพ์ ์ ์๋ค๊ณ ๋จ๊ธธ๋ ์ ๊ทธ๋ด๊น ๊ฒ์์ ํด๋ดค๋๋, touch ํ์ผ๋ช .ํ์ฅ์ ๋ฅผ ์ฌ์ฉํ๋ฉด ๋์๊ณ , vi ๋ฅผ ์ด์ฉํด์๋ ํ์ผ์ ์์ฑ ํ ์ ์์๋ค. ์ด ์ ๋๋ก ๋ชจ๋ฅด๋ค๋ ์ ๋ง ์ฌ๊ฐํ ์์ค์ด๋ผ๊ณ ํ ์ ์๋ค.
๋๋ vi ์๋ํฐ๋ฅผ ์ด์ฉํด์ Java ํ์ผ์ ๋ง๋ค์๋๋ฐ, ํ์ฌ์์ ์ข ์ข vi ์๋ํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์์ด ์กฐ๊ธ์ ์ต์ํ๋ค. ํ์ง๋ง ์ ๋ง ๊ฐ๋ง์ ๋ง๋ค์ด๋ณด๋ main() ๋ฉ์๋๋ผ ๊ทธ๋ฐ์ง ์ ๊ทผ์ ์ด์ ์ฒ ์๋ ํ๋ฆฌ๊ณ , ํ๋ผ๋ฏธํฐ์ String ๋ฐฐ์ด์ด ๋ค์ด๊ฐ๋ ๊ฒ๋ ๊น๋จน๋ ๋ถ์์ฌ๊ฐ ๋ฐ์ํ๋ค.
์ผ๋จ, Java ์ธ์ด์์ ๊ฐ์ฅ ์์ ๋จ์๋ Class ๋ผ๋ ๊ฒ์ ์๊ณ , ๋ฉ์๋๋ Class ๋ด์ ์ ์ธ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ค๋ ๊ฐ์ ํ์ ๋ฌธ๋ ์ด๋ฐ ์๋ฌธ์ด ๋ค์๋ค.
ํน์ Java ํ์ผ์ ์คํํ๊ธฐ ์ํด์ ํด๋น ํ์ผ์ main()๊ฐ ํ์์ ์ผ๋ก ๋ค์ด๊ฐ์ผ ํ๋๋ฐ, ์ ๊ทธ๋ฐ๊ฑธ๊น?
- ์ ๊ทผ ์ ์ด์
- **public**
- main() ๋ฉ์๋๋ ๋ค๋ฅธ ํด๋์ค์ ์กด์ฌํ๋ ๋ฉ์๋ ๋ฑ์ ํธ์ถํด์ผ ํ๋๋ฐ, ๋ง์ฝ main() ๋ฉ์๋๊ฐ public ์ ์ด์๊ฐ ์๋ private ํน์ final ๋ฑ์ผ๋ก ์ ์ธ๋์ด ์๋ค๋ฉด ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ main() ํจ์๋ public ์ ๊ทผ ์ ์ด์๋ฅผ ์ ์ธํ๋ค.
- **static**
- static ์ ์ด์๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋, ๋ฐ๋ก ์ธ์คํด์คํ ํ์ง ์์๋ (์๋กญ๊ฒ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ์ง ์์๋) method ์์ญ ๋ฉ๋ชจ๋ฆฌ์ ํธ์ถ๋๋ค. ์ด๋ ๊ฒ static ์ ์ด์๊ฐ ์ ์ธ๋ ํด๋์ค, ๋ฉ์๋ ๋ฑ์ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๋จ์ ์๊ฒ ๋๋ค. ์ฆ, GC์ ์ํด ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ๋ผ์ง์ง ์๊ฒ ๋๋ค๋ ์๋ฏธ์ด๋ค.
- public ๋ถ๋ถ์์ ์ค๋ช ๋ ๊ฒ ์ฒ๋ผ, main() ๋ฉ์๋๋ ๋ค๋ฅธ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํธ์ถํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ๋ผ์ง๋ฉด ์๋๋ค. ๊ทธ๋ฌํ ์ด์ ๋๋ฌธ์ static ์ ์ด์๋ฅผ ์ฌ์ฉํ๋ค.
- **public**
- ๋ฆฌํด ํ์
- **void**
- ๋ง์ฝ main() ๋ฉ์๋์ ๋ฆฌํด ํ์ ์ด ์กด์ฌํ๋ค๋ฉด ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๊ฒ ๋ค๋ ์๋ฏธ์ธ๋ฐ, ์ด ๊ฒ์ main() ๋ฉ์๋์ ์๋ฏธ์ ๋ถํฉํ์ง ์๋ค. ์ฆ, ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ์์ ์๋ง ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ์ดํ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ ๋ฐ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์๋ค.
- **void**
- ํ๋ผ๋ฏธํฐ
- String[] args
- public ๊ณผ static ์ ์ด์ ์ ์ธ ์ด์ ์ ์ฐ๊ฒฐ๋๋ ์๋ฏธ๋ก, ์ธ๋ถ์์ ๊ฐ์ ๋ฐ์์ค๊ธฐ ์ํ ํ๋ผ๋ฏธํฐ์ด๋ค. ์ด ๋, ์ธ๋ถ์์ ๋ฐ์์ค๋ ๊ฐ์ ์ต์ ์ด๋ผ๊ณ ํ๋๋ฐ, ํด๋น ์ต์ ๋ค์ String ๋ฐฐ์ด์ ๋ฃ์ด ํ๋ก๊ทธ๋จ์ ์คํํ๋ค.
- String[] args
'Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
F004 - Reference Type (0) | 2021.05.08 |
---|---|
F003 - Access Modifier (0) | 2021.05.06 |
F002 - Primitive Type (0) | 2021.05.06 |
TIL_W02 | Variable, Primitive / Reference Type, Literal, Array (0) | 2020.12.15 |
TIL_W01 | JVM, Bytecode, JDK, JRE, JIT Compiler (0) | 2020.12.14 |