๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1. Java ์ž๋ฐ”/1_0. ์ฑ…, ๊ฐ•์˜

[์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ1] 12์ฃผ์ฐจ ๊ฐ•์˜_ํ•„๊ธฐ

by ๋น„์†Œ์•ผ 2022. 5. 18.
728x90

์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ1 12์ฃผ์ฐจ ๊ฐ•์˜_ํ•„๊ธฐ

1์ฐจ์‹œ

 

ํŒจํ‚ค์ง€ // ๊ด€๋ จ ์žˆ๋Š” ํด๋ž˜์Šค ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ํด๋”

์ ‘๊ทผ์ง€์ •์ž // ํด๋ž˜์Šค๋‚˜ ์ผ๋ถ€ ๋ฉค๋ฒ„๋ฅผ ๊ณต๊ฐœํ•˜์—ฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผํ•˜๋„๋ก ํ—ˆ์šฉ

1. ํด๋ž˜์Šค ์ ‘๊ทผ์ง€์ •์ž // public, ๋””ํดํŠธ 2๊ฐ€์ง€
2. ๋ฉค๋ฒ„ ์ ‘๊ทผ์ง€์ •์ž // public, protected, ๋””ํดํŠธ, private 4๊ฐ€์ง€


public // ๋ชจ๋“  ํด๋ž˜์Šค์— ์ ‘๊ทผ ํ—ˆ์šฉ
protected // ๋™์ผํ•œ ํŒจํ‚ค์ง€ ํด๋ž˜์Šค, ์ž์‹ ํด๋ž˜์Šค
๋””ํดํŠธ // ๋™์ผํ•œ ํŒจํ‚ค์ง€ ํด๋ž˜์Šค, ์ ‘๊ทผ์ง€์ •์ž๋ฅผ ์ƒ๋žตํ•œ๋‹ค.
private // ๋™์ผํ•œ ํด๋ž˜์Šค ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ, ์ž์‹ ํด๋ž˜์Šค์—์„œ๋Š” ์ ‘๊ทผ ๋ถˆ๊ฐ€

 

2์ฐจ์‹œ

 

static ๋ฉค๋ฒ„ non-static ๋ฉค๋ฒ„
ํ‚ค์›Œ๋“œ O ํ‚ค์›Œ๋“œ X
ํด๋ž˜์Šค๋‹น ํ•˜๋‚˜๋งŒ ์ƒ์„ฑ ๊ฐ์ฒด๋‹น ํ•˜๋‚˜์”ฉ ์ƒ์„ฑ
ํด๋ ˆ์Šค ๋ฉค๋ฒ„ ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„
๊ฐ์ฒด ์ƒ์„ฑ๋˜๊ธฐ ์ „ ์‚ฌ์šฉ๊ฐ€๋Šฅ
(ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ์‹œ์  ==
ํด๋ž˜์Šค๊ฐ€ ๋กœ๋”ฉ๋  ๋•Œ ๋ฉค๋ฒ„ ์ƒ์„ฑ)
๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ์‚ฌ์šฉ๊ฐ€๋Šฅ
(๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๋ฉค๋ฒ„ ์ƒ์„ฑ)
๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์ ธ๋„ ๋ฉค๋ฒ„๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š์Œ
(ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ ์‚ฌ๋ผ์ง)
๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ๋ฉค๋ฒ„๋„ ์‚ฌ๋ผ์ง
๋™์ผํ•œ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๊ฐ์ฒด์— ์˜ํ•ด ๊ณต์œ ๋จ ๋‹ค๋ฅธ ๊ฐ์ฒด์— ์˜ํ•ด ๊ณต์œ ๋˜์ง€ ์•Š์Œ

 

Static ๋ฉค๋ฒ„๋Š” ๊ฐ์ฒด ๋‚ด๋ถ€๊ฐ€ ์•„๋‹Œ ๋ณ„๋„์˜ ๊ณต๊ฐ„์— ์ƒ์„ฑ // ํด๋ž˜์Šค ์ฝ”๋“œ๊ฐ€ ์ ์žฌ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ

Static ๋ฉค๋ฒ„๋Š” ํด๋ž˜์Šค์ด๋ฆ„. ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ

๊ฐ์ฒด ์ƒ์„ฑ์ดํ›„ ํด๋ž˜์Šค์ด๋ฆ„, ๊ฐ์ฒด์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ

 

๊ฐ์ฒด ์ƒ์„ฑ ์ „์— main() ๋ฉ”์†Œ๋“œ๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด static์œผ๋กœ ์„ ์–ธ

 

3์ฐจ์‹œ

 

์ „์—ญ, ์ง€์—ญ

java.lang.Math ํด๋ž˜์Šค์˜ ๋ชจ๋“  ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋Š” public static

static ๋ฉ”์†Œ๋“œ์˜ ์ œ์•ฝ ์กฐ๊ฑด // ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์ „์—๋„ static ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ
1. non-static ๋ฉค๋ฒ„ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ // ๋ฐ˜๋Œ€๋กœ non-static ๋ฉค๋ฒ„๋Š” static ๋ฉค๋ฒ„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
2. this ๋ ˆํผ๋Ÿฐ์Šค ์‚ฌ์šฉ ๋ถˆ๊ฐ€ // ํ˜„์žฌ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” this ๋ ˆํผ๋Ÿฐ์Šค

final ํ‚ค์›Œ๋“œ
1. ํด๋ž˜์Šค // ์ƒ์† ๋ถˆ๊ฐ€
2. ๋ฉ”์†Œ๋“œ // ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ถˆ๊ฐ€
3. ํ•„๋“œ // ์ƒ์ˆ˜ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉ, ์„ ์–ธ ์‹œ ์ดˆ๊ธฐํ™” ํ•„์š”, ๊ฐ’ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€

728x90