[Java ์ ๋ฌธ] Java์ ๊ธฐ์ด ์ฉ์ด
Java์์ ๋ ์ฐ์ด๋ main ํจ์ ์ค์ ๋ถํฐ ์ ๋ง ๊ธฐ์ด ์ค์ ๊ธฐ์ด๋ถํฐ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. Java ์ฒซ ๋ฐ์ง์ ๋ผ๋ ์ ๋ฌธ์๊ฐ ์๋๋ฉด ์ด ํฌ์คํ ์ ๋์ด๊ฐ๋ ๋ฌด๋ฐฉํ๊ฒ ๋ค.
์๋ ํ๋ฉด์์ ๋ณด์ด๋ ๊ฒ๋ค์ ํ๋ํ๋ ๋ฏ์ด๋ณด๋๋ก ํ์.
์ฐ์ ๋งจ ์์ค์ class๋ฅผ ์์ฑํ๋ ์ฝ๋์ด๋ค. ์ด ๋ public์ด๋ผ๋ ์ฝ๋๊ฐ ์ฐ์ฌ์๋๋ฐ, ์ด๋ ๋ค์ ๋ฌธ์ฅ์ ์ดํด๋ณด๋ฉฐ ์ ๋ฆฌํด๋ณธ๋ค.
public static void main(String[ ] args) { }
1. public
์ ํ์
ํจ์์ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฒ์๋ฅผ ์ ํํ๋ ์ ์ธ
- public : ์ด๋์์๋ ํจ์์ ์ ๊ทผ ๊ฐ๋ฅ
- private : ํด๋น ํด๋์ค ๋ด์์ ํจ์์ ์ ๊ทผ ๊ฐ๋ฅ
- protected : ํด๋น ํด๋์ค์ ์์๋ ํด๋์ค์์๋ง ํจ์์ ์ ๊ทผ ๊ฐ๋ฅ
2. static
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ๋ฒ
Java์์๋ ๋ณ์ ํน์ ํจ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๋๋ฐ, ๋ฉ๋ชจ๋ฆฌ์ ๊ณต๊ฐ์ ํฌ๊ฒ ์ธ ๊ฐ์ง ์์ญ์ผ๋ก ๊ตฌ๋ถ๋๋ค. ์ธ ์์ญ์ Static area, Stack area, Heap area ์์ญ์ด๋ค.
๋ฐ๋ผ์ ํจ์๋ฅผ static์ผ๋ก ํ ๋นํ๋ฉด ํจ์๋ static area์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฒ ๋๋ค. static area์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ์์๋ถํฐ ์ข ๋ฃ๊ฐ ๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ค. (Java์ static, stack, heap ๋ฑ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๋ด์ฉ์ ์ดํ ํฌ์คํ ์์ ๋ฐ๋ก ์์ธํ ๋ค๋ฃจ๋๋ก ํ๋ค.)
3. void
void๋ ํจ์๊ฐ ๋๋ ๋ ๋ฆฌํด๊ฐ์ด ์๋ค๋ ์๋ฏธ์ด๋ค.
๊ทธ ์ด์ ๋, ๊ณ์ ์ธ๊ธ๋์๋ฏ main ํจ์๊ฐ ์ข ๋ฃ๋๋ฉด ํ๋ก๊ทธ๋จ์ด ๋ฐ๋ก ์ข ๋ฃ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ mainํจ์๋ ๋ฆฌํด๊ฐ์ ๊ฐ์ง๋ฉด ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉฐ, ์ด๋ฅผ ๋ง๊ธฐ ์ํด ๋ง์ฝ mainํจ์์์ void ๋์ ๋ค๋ฅธ ํ์ ์ ์ฌ์ฉํ๋ฉด ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.

3. main
Java์ ์์์ ๋ mainํจ์๋ก ์์ํ๋ค.
4. String[]+ args
args ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ์ฌ์ฉํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
- args : ๋ณ์๋ช
- ๊ผญ ๋ณ์๋ช ์ ์ด๊ฒ์ผ๋ก ์ ์ด์ผ ํ๋ ๊ฒ์ ์๋๋, ๋ณดํต ๊ธฐ๋ณธ์ผ๋ก args๋ผ๊ณ ์ฌ์ฉํ๋ค.
- ์ด "๋ฌธ์์ด ๋ฐฐ์ด"์ ์๋ฐ ํ๋ก๊ทธ๋จ ์คํ์์ ์ฃผ์ด์ง "์ต์ "๋ค์ด ์๋์ผ๋ก ๋ด๊ฒจ์ง๋ ๊ณณ์ด๋ค.
- Arguments ๋ฅผ ์ค์ธ ๋ง์ผ๋ก, "์ธ์" = "๋งค๊ฐ ๋ณ์" = "ํ๋ผ๋ฏธํฐ" ๋ผ๋ ๋ป์ด๋ค.
๊ทธ ์ธ ๊ธฐ์ด ๋ฌธ๋ฒ
system.out.println();
Java์ ํ์ค ์ ์ถ๋ ฅ ํด๋์ค
- Java์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ก ํํ๋๋ฏ๋ก, ์ ์ถ๋ ฅ์ ๋ด๋นํ๋ ์๋จ ๋ํ ๋ชจ๋ ๊ฐ์ฒด์ด๋ค.
- Java์์๋ System์ด๋ผ๋ ํ์ค ์ ์ถ๋ ฅ ํด๋์ค๋ฅผ ์ ์ํ์ฌ ์ ๊ณตํ๊ณ ์๋ค.
//
Java์ ์ฃผ์์ฒ๋ฆฌ
์ฐธ๊ณ ์ฌ์ดํธ
- ๊ฝ๋ด๋ ๋ธ๋ก๊ทธ (https://mozi.tistory.com/553)
- JOKER's ROOM ๋ธ๋ก๊ทธ (https://m.blog.naver.com/heartflow89/220954420688)
- http://mwultong.blogspot.com/2006/11/java-main-string-args.html
- http://www.tcpschool.com/java/java_intro_systemout
'Studynote > Java, Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java ์ ๋ฌธ] ๋ณ์ (0) | 2022.07.05 |
---|---|
[Java ์ ๋ฌธ] ๋ฐ์ดํฐํ์ ๊ณผ ์ฐ์ฐ์ (0) | 2022.07.02 |
[Java ์ ๋ฌธ] ์๋ฐ๋ก๋ ์ด๋ฐ ๊ฒ๊น์ง ํ ์ ์๋ค! (0) | 2022.06.23 |
[Java ์ ๋ฌธ] ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์คํ - HelloWorld (0) | 2022.06.22 |
[Java ์ ๋ฌธ] java์ ๋์์๋ฆฌ (0) | 2022.06.10 |