[JAVA] java์˜ ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ, ์™œ static ์ผ๊นŒ์š”?

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 ๋ฉค๋ฒ„ ํ˜ธ์ถœ ์ˆœ์„œ

์ •์ ๋ณ€์ˆ˜ -> ์ •์  ์ดˆ๊ธฐํ™”๋ฌธ -> ์ •์  ๋ฉ”์†Œ๋“œ