์ถ์ฒ
ChatGPT
ChatGPT ๊ฐ ์๋ ค์ค ๋ด์ฉ์ ์ ๋ฆฌํ๋ค.
ํ ์ค๋ก ์ ์ํ๋ฉด
-> ํ๋ก๊ทธ๋จ์ ์์์ ์์ ํจ์จ์ ์ด๊ณ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ์คํ์ ๋ณด์ฅํ๊ธฐ ์ํจ
๋ด์ฉ
- JVM์ ๊ท์น๊ณผ ๊ด๋ก
- ๊ฐ์ฒด ์์ฑ ์์ด ํธ์ถ ๊ฐ๋ฅํ๋ค
- ํ๋ก๊ทธ๋จ ์์์ ์ด ๊ฐ๋จํ๋ค
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ
- ๊ฐ๊ฒฐํ๊ณ ๋ช ํํ ์ฝ๋ ๊ตฌ์กฐ
- ํด๋์ค์ ๊ฐ์ฒด ๊ฐ ๋ช ํํ ๊ตฌ๋ถ
์ฐ๊ด์ด ์๋ค๊ณ ์๊ฐ๋๋ ๋ด์ฉ๋ค๋ผ๋ฆฌ ๊ธ์์์ ๋ง์ท๋ค.
1. JVM์ ๊ท์น๊ณผ ๊ด๋ก
JVM์ 'public static void main(String[] args)' ์๊ทธ๋์ฒ๋ฅผ ๊ฐ์ง ๋ฉ์๋๋ฅผ ํ๋ก๊ทธ๋จ ์ง์ ์ ์ผ๋ก ์ธ์ํ๋ค. ์ด๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ด๋ก๋ค.
2. ๊ฐ์ฒด ์์ฑ ์์ด ํธ์ถ ๊ฐ๋ฅํ๋ค.
ํ๋ก๊ทธ๋จ ์์ ์์ ์๋ ์์ง ๊ฐ์ฒด๊ฐ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์, main()์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ์ง์ ํธ์ถํ ์ ์์ด์ผ ํ๋ค.
3. ํ๋ก๊ทธ๋จ ์์ ์์ ์ด ๋ ๋ฆฝ์ ์ด๋ผ ๊ฐ๋จํ๋ค.
2.์์ ๋งํ๋ฏ์ด, ๊ฐ์ฒด ์์ฑ์์ด ํธ์ถํ๊ธฐ ๋๋ฌธ์ ํด๋์ค ์ธ์คํด์คํ๋ฅผ ํ ํ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ณต์ก์ฑ์ด ์๋ค.
4. ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ
2์์ ๋งํ๋ฏ์ด, ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ๋ฉ์๋๋ฅผ ํธ์ถํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ต์ํํ๋ค. ํด๋์ค๊ฐ ๋ก๋๋ ๋ ๋ฉ์๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ๊ฐ์ฒด ์์ฑ ์์ด ๋ฐ๋ก ์คํ ๊ฐ๋ฅํด ํจ์จ์์ด ์ข๋ค.
5. ๊ฐ๊ฒฐํ๊ณ ๋ช ํํ ์ฝ๋ ๊ตฌ์กฐ
'static' ๋ฉ์๋๋ ํด๋์ค ์์ค์์ ํด๋น ๋ฉ์๋์ ๊ธฐ๋ฅ์ ์ํํ๋ค. ํด๋์ค์ ๊ด๋ จ์๋ ๋ฉ์๋์์ ๋ช ํํํด์ ๊ฐ์ฒด์ ์ธ์คํด์ค ๋ฉ์๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ค์ง ์๋๋ค.
6. ํด๋์ค์ ๊ฐ์ฒด ๊ฐ ๋ช ํํ ๊ตฌ๋ถ
5.์์ ๋งํ๋ฏ์ด, 'static' ๋ฉ์๋๋ ํด๋์ค ์์ค, ์ฆ ํด๋์ค ๋ ๋ฒจ์์ ๋์ํด์ ๊ฐ์ฒด์ ์ธ์คํด์ค ๊ฐ์ ๋ช ํํ ๊ตฌ๋ถ์ ์ ๊ณตํ๋ค.
๊ฒฐ๋ก
main() ๋ฉ์๋๊ฐ static์ผ๋ก ์ ์ธ๋๋ ์ด์ ๋, ์๋ฐ์ ๊ตฌ์กฐ์ ๊ท์น๊ณผ, ํ๋ก๊ทธ๋จ์ ์์ ์์ ์์์ ํจ์จ์ฑ๊ณผ ๋ ๋ฆฝ์ฑ์ ๊ธฐ์ธํ๋ค.
ChatGPT์๊ฒ ์ด ๊ธ์ ์ถ์ฒ๋ฅผ ๋ฌผ์๋ค.
์ถ์ฒ
- "The Java Language Specification":
- ์๋ฐ ์ธ์ด ์ฌ์์์๋ main() ๋ฉ์๋๊ฐ public static void๋ก ์ ์ธ๋์ด์ผ ํ๋ฉฐ, ํ๋ก๊ทธ๋จ์ ์ง์ ์ ์ผ๋ก ์ฌ์ฉ๋๋ค๊ณ ์ค๋ช ํฉ๋๋ค. ์ด๋ JVM์ด ํ๋ก๊ทธ๋จ ์คํ ์ main() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํฉ๋๋ค.
- "Effective Java" by Joshua Bloch:
- ์ด ์ฑ ์์๋ ์๋ฐ์ ๊ธฐ๋ณธ ์์น๊ณผ ๋์์ธ ํจํด์ ์ค๋ช ํ๋ฉฐ, main() ๋ฉ์๋์ ์ญํ ๊ณผ static ์ ์ธ์ ํ์์ฑ์ ๋ค๋ฃน๋๋ค. Joshua Bloch๋ main() ๋ฉ์๋๊ฐ ๊ฐ์ฒด์ ์ํ์ ์์กดํ์ง ์์์ผ ํ๋ฉฐ, ํ๋ก๊ทธ๋จ ์คํ์ ์์์ ์ผ๋ก ์ฌ์ฉ๋ ๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํด์ผ ํ๋ค๊ณ ๊ฐ์กฐํฉ๋๋ค.
- "Java: The Complete Reference" by Herbert Schildt:
- Herbert Schildt์ ์ฑ ์ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด๋ฅผ ๋ค๋ฃจ๋ฉฐ, main() ๋ฉ์๋์ static ํค์๋ ์ฌ์ฉ ์ด์ ์ ๊ทธ ์ค์์ฑ์ ์ค๋ช ํฉ๋๋ค. ์ด ์ฑ ์์๋ static ๋ฉ์๋๊ฐ ํด๋์ค์ ์ธ์คํด์ค ์์ด ํธ์ถ๋ ์ ์์์ ๊ฐ์กฐํ๋ฉฐ, ์ด๋ main() ๋ฉ์๋๊ฐ ์คํ๋ ๋ ํ์ํ ํน์ฑ์ด๋ผ๊ณ ์ค๋ช ํฉ๋๋ค.
- "Core Java Volume I - Fundamentals" by Cay S. Horstmann, Gary Cornell:
- ์ด ์ฑ ์ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด ๊ฐ๋ ์ ๊น์ด ์๊ฒ ๋ค๋ฃจ๋ฉฐ, main() ๋ฉ์๋์ ๋์ ๋ฐฉ์๊ณผ static ํค์๋์ ์ญํ ์ ์ค๋ช ํฉ๋๋ค. main() ๋ฉ์๋๊ฐ ํ๋ก๊ทธ๋จ ์คํ ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํด์ผ ํ๋ฉฐ, ํด๋์ค ์ธ์คํด์ค์ ๋ฌด๊ดํ๊ฒ ํธ์ถ๋ ์ ์์ด์ผ ํ๋ค๊ณ ์ธ๊ธํฉ๋๋ค.
'๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OOP][Java] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ด๋ จ๋ ๋ ๋ฒจ๋ค (0) | 2024.07.25 |
---|---|
[OOP][Java] ํด๋์ค ๋ ๋ฒจ vs ๊ฐ์ฒด ๋ ๋ฒจ (0) | 2024.07.24 |
[OOP] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ด๋ป๊ฒ ํ์ค ์ธ๊ณ๋ฅผ ํ๋ก๊ทธ๋จ์ผ๋ก ํํํ๋ (1) | 2024.07.24 |
[๊ธฐ์ ๋ธ๋ก๊ทธ ์ฝ๊ธฐ] robust + MVI + Jetpack Compose (0) | 2024.06.27 |
[Sample] PictureInPictureKotlin ์ฝ๋ ์ดํผ๊ธฐ - 1 (0) | 2024.06.26 |