JAVA/μ•Œμ•„λ‘λ©΄ 쒋을 지식

[JAVA] java의 메인 λ©”μ†Œλ“œ, μ™œ static μΌκΉŒμš”?

육볡 2020. 1. 16. 22:44

https://ybdeveloper.tistory.com/23

 

[JAVA] static에 λŒ€ν•΄ μžμ„Ένžˆ λ°°μ›Œλ³΄μž

κ³΅μœ μ™€ μ†Œμœ μ˜ μ˜ˆμ‹œ 이 μ„Έμƒμ˜ λͺ¨λ“  μ‚¬λžŒλ“€μ€ 폐λ₯Ό μ†Œμœ ν•˜κ³  νƒœμ–΄λ‚˜κΈ° λ•Œλ¬Έμ— ν˜Έν‘μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 폐만 μžˆλ‹€κ³  호흑이 κ°€λŠ₯ν• κΉŒμš”? μ ˆλŒ€ μ•„λ‹™λ‹ˆλ‹€. μ•Œλ§žλŠ” ν™˜κ²½κ³Ό μ—¬λŸ¬ κ°€μ§€ κΈ°κ΄€κ³Ό μ‚¬λžŒμ˜ λͺΈμ˜ νŠΉμ„±..

ybdeveloper.tistory.com

μ™œ static 이지?


"java의 메인 λ©”μ†Œλ“œλŠ” μ™œ static μΌκΉŒμš”?" 이 λ¬ΌμŒμ— λŒ€λ‹΅μ΄ μ „ν˜€ λ– μ˜€λ₯΄μ§€ μ•ŠλŠ”λ‹€λ©΄ μœ„μ— 링크 해놓은 static 포슀트λ₯Ό ν•œλ²ˆ μ½μ–΄λ΄…μ‹œλ‹€. κ·Έλ ‡λ‹€λ©΄ 질문의 닡이 μ–΄λŠμ •λ„ 감이 올 κ²ƒμž…λ‹ˆλ‹€. static의 νŠΉμ§•μ΄λΌ 함은, non-static 멀버듀이 객체가 μƒμ„±λ˜λŠ” μ‹œμ μ— λ©”λͺ¨λ¦¬μ— 할당이 되고 참쑰값을 ν†΅ν•˜μ—¬ μ ‘κ·Όν•  수 μžˆλŠ” λ°˜λ©΄μ— 클래슀 λ‘œλ”©μ‹œμ— 생성이 되고 객체의 생성 없이 μ ‘κ·Όν•  수 μžˆλ‹€λŠ” 점이 static λ©€λ²„μ˜ 핡심 νŠΉμ§•μ΄λΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

μ—¬κΈ°μ„œ λ‹€λ“€ 감이 μ˜€μ‹€κ²λ‹ˆλ‹€. main λ©”μ†Œλ“œλŠ” μ‹œμž‘μ μž…λ‹ˆλ‹€. 즉, κ°€μž₯ μš°μ„ μ μœΌλ‘œ μ‹€ν–‰λ˜λŠ” λ©”μ†Œλ“œλΌκ³  ν•  수 있죠. 그런데 λ§Œμ•½μ— main λ©”μ†Œλ“œκ°€ static이 μ•„λ‹Œ 일반적인 non-static 멀버라면 μ–΄λ–»κ²Œ λ κΉŒμš”? μš°λ¦¬λŠ” μ½”λ“œ μƒμ—μ„œ main λ©”μ†Œλ“œλ₯Ό 감싸고 μžˆλŠ” 클래슀λ₯Ό 객체둜 μƒμ„±ν•˜κ³  λ”°λ‘œ main λ©”μ†Œλ“œλ₯Ό μ‹€ν–‰μ‹œμΌœμ€˜μ•Ό ν• κ²λ‹ˆλ‹€. 이러면 main λ©”μ†Œλ“œλΌλŠ” μ˜λ―Έκ°€ μ—†μ£ .

 

μ΄λ ‡κ²Œ ν•˜λ©΄ μ˜λ―Έκ°€ μ—†λ‹€!

λ©”μΈν΄λž˜μŠ€ μ°Έμ‘°λ³€μˆ˜ = new λ©”μΈν΄λž˜μŠ€(); 
μ°Έμ‘°λ³€μˆ˜.main();

κ°€μž₯ μš°μ„ μ μœΌλ‘œ μ‹€ν–‰λ˜λ©°, 객체 생성없이 μ‚¬μš©λ˜μ•Ό ν•˜λ―€λ‘œ main λ©”μ†Œλ“œλŠ” 무쑰건 static λ©€λ²„λ‘œ μ„ μ–Έλ˜μ–΄μ•Ό ν•˜λŠ” κ²λ‹ˆλ‹€. 이것이 λ°”λ‘œ main λ©”μ†Œλ“œκ°€ ν•„μˆ˜μ μœΌλ‘œ static 멀버여야 ν•˜λŠ” μ΄μœ μž…λ‹ˆλ‹€.

 

static 멀버 호좜 μˆœμ„œ

μ •μ λ³€μˆ˜ -> 정적 μ΄ˆκΈ°ν™”λ¬Έ -> 정적 λ©”μ†Œλ“œ