Search

Java static & final

Java static & final ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!

์ด๋ฒˆ ์˜์ƒ์€ Java์—์„œย static๊ณผย finalย ํ‚ค์›Œ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค.
static์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ณ , final์€ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ์ƒ์ˆ˜๋‚˜ ์ƒ์†์„ ๋ง‰๋Š” ์—ญํ• ์„ ํ•ด์š”.
์•„๋ž˜ ๋ชฉ์ฐจ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ดํ•ดํ•ด๋ด์š”!

๋ชฉ์ฐจ

1.
static ํ‚ค์›Œ๋“œ๋ž€? [00:00:00]
2.
static ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ ํŠน์ง• [00:02:00]
3.
static๊ณผ ์ธ์Šคํ„ด์Šค(๊ฐ์ฒด)์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฐจ์ด [00:03:00]
4.
static ๋ฉ”์†Œ๋“œ์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์ ‘๊ทผ ๋ถˆ๊ฐ€ ์ด์œ  [00:07:30]
5.
์ฝ”๋“œ ์˜ˆ์ œ๋กœ ๋ณด๋Š” static ์‚ฌ์šฉ๋ฒ• [00:09:00]
6.
static ๋ณ€์ˆ˜ ๊ณต์œ ์™€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์ฐจ์ด [00:22:00]
7.
final ํ‚ค์›Œ๋“œ๋ž€? (์ƒ์ˆ˜, ์ƒ์†, ์˜ค๋ฒ„๋ผ์ด๋”ฉ ์ œํ•œ) [00:24:00]
8.
final ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ, ๋ณ€์ˆ˜ ์‹ค์Šต [00:26:00]
9.
๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ [00:32:00]

1. static ํ‚ค์›Œ๋“œ๋ž€? [00:00:00]

โ€ข
static์€ '๊ณ ์ •๋œ'์ด๋ผ๋Š” ๋œป์ด์—์š”.
โ€ข
์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ, ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ๋˜๋ฉด์„œ static ๋ฉค๋ฒ„(๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ)๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.
โ€ข
์ฆ‰, ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ๋ฉ”๋ชจ๋ฆฌ์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฉค๋ฒ„๋“ค์ด์—์š”.
๋น„์œ :
ํ•™๊ต์— ๋“ค์–ด๊ฐ€๋ฉด ๊ต์‹ค์ด ๋งŒ๋“ค์–ด์ง€๊ณ  ํ•™์ƒ๋“ค์ด ๋“ค์–ด๊ฐ€์ฃ ? ๊ทธ๋Ÿฐ๋ฐ static์€ ํ•™์ƒ์ด ๋“ค์–ด์˜ค๊ธฐ ์ „์— ์ด๋ฏธ ๊ต์‹ค์— ๋ถ™์–ด์žˆ๋Š” ๊ฒŒ์‹œํŒ ๊ฐ™์€ ๊ฑฐ์˜ˆ์š”. ํ•™์ƒ(๊ฐ์ฒด)์ด ์—†์–ด๋„ ๊ฒŒ์‹œํŒ(static ๋ฉค๋ฒ„)์€ ํ•ญ์ƒ ์žˆ์–ด์š”.

2. static ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ ํŠน์ง• [00:02:00]

โ€ข
static ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ!
โ€ข
ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ๊ณ ์ •๋˜์–ด ์žˆ์–ด์š”.
โ€ข
์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ๊ฐ™์€ static ๋ณ€์ˆ˜๋ฅผ ๊ณต์œ ํ•ด์š”.
โ€ข
๋ฐ˜๋ฉด, ์ผ๋ฐ˜ ๋ณ€์ˆ˜(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)๋Š” ๊ฐ์ฒด๋งˆ๋‹ค ๋”ฐ๋กœ ์ƒ์„ฑ๋˜๊ณ  ๊ฐ’๋„ ๊ฐ๊ฐ ๋‹ฌ๋ผ์š”.

3. static๊ณผ ์ธ์Šคํ„ด์Šค(๊ฐ์ฒด)์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฐจ์ด [00:03:00]

โ€ข
์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜/๋ฉ”์†Œ๋“œ:ย ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ณ , ๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋„ ํ•ด์ œ๋จ.
โ€ข
static ๋ณ€์ˆ˜/๋ฉ”์†Œ๋“œ:ย ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ณ , ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ๊นŒ์ง€ ์œ ์ง€๋จ.
โ€ข
๊ทธ๋ž˜์„œ static ๋ฉค๋ฒ„๋Š” ์ „์—ญ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ์–ด๋””์„œ๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์š”.

4. static ๋ฉ”์†Œ๋“œ์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์ ‘๊ทผ ๋ถˆ๊ฐ€ ์ด์œ  [00:07:30]

โ€ข
static ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ ์ „์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋Š”๋ฐ, ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์–ด์•ผ ์ƒ๊ฒจ์š”.
โ€ข
๊ทธ๋ž˜์„œ static ๋ฉ”์†Œ๋“œ ์•ˆ์—์„œ๋Š” ์•„์ง ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์š”.
โ€ข
๋˜ํ•œ, static ๋ฉ”์†Œ๋“œ์—์„œ๋Š”ย thisย ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”๋ฐ,ย this๋Š” '์ž๊ธฐ ์ž์‹  ๊ฐ์ฒด'๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.

5. ์ฝ”๋“œ ์˜ˆ์ œ๋กœ ๋ณด๋Š” static ์‚ฌ์šฉ๋ฒ• [00:09:00]

โ€ข
static ๋ณ€์ˆ˜ a, b์™€ static ๋ฉ”์†Œ๋“œ sum()์„ ์„ ์–ธํ•ด๋ด…๋‹ˆ๋‹ค.
โ€ข
sum()์€ ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด ๋ฐ”๋กœ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•ด์š”.
โ€ข
์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
static ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

6. static ๋ณ€์ˆ˜ ๊ณต์œ ์™€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์ฐจ์ด [00:22:00]

โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด, static ๋ณ€์ˆ˜ a์— 100์„ ๋„ฃ์œผ๋ฉด ๋ชจ๋“  ๊ฐ์ฒด์—์„œ a์˜ ๊ฐ’์€ 100์œผ๋กœ ๊ณต์œ ๋ผ์š”.
โ€ข
๋ฐ˜๋ฉด, ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ c๋Š” ๊ฐ์ฒด๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์–ด์š”.
โ€ข
์ฆ‰, static ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค ๋‹น ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๊ณ , ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๋งˆ๋‹ค ๋”ฐ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

7. final ํ‚ค์›Œ๋“œ๋ž€? (์ƒ์ˆ˜, ์ƒ์†, ์˜ค๋ฒ„๋ผ์ด๋”ฉ ์ œํ•œ) [00:24:00]

โ€ข
final ๋ณ€์ˆ˜:ย ๊ฐ’์„ ํ•œ ๋ฒˆ ์ •ํ•˜๋ฉด ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€, ์ฆ‰ ์ƒ์ˆ˜๋กœ ์‚ฌ์šฉ.
โ€ข
final ๋ฉ”์†Œ๋“œ:ย ๋” ์ด์ƒ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(์žฌ์ •์˜)ํ•  ์ˆ˜ ์—†๊ฒŒ ๋ง‰์Œ.
โ€ข
final ํด๋ž˜์Šค:ย ์ƒ์†ํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค, ์ฆ‰ ์ด ํด๋ž˜์Šค๋ฅผ ๋ถ€๋ชจ๋กœ ํ•˜๋Š” ์ž์‹ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Œ.

8. final ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ, ๋ณ€์ˆ˜ ์‹ค์Šต [00:26:00]

โ€ข
final ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ƒ์† ์‹œ๋„ํ•˜๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒ!
โ€ข
final ๋ฉ”์†Œ๋“œ๋Š” ์ž์‹ ํด๋ž˜์Šค์—์„œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ถˆ๊ฐ€!
โ€ข
final ๋ณ€์ˆ˜๋Š” ๋Œ€๋ฌธ์ž์™€ ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค(์˜ˆ: MAX_VALUE)๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๊ฒƒ์ด ๊ด€๋ก€์ž…๋‹ˆ๋‹ค.

9. ๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ [00:32:00]

โ€ข
static์€ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ณ , ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ๊ฐ’์„ ๊ณต์œ ํ•˜๋Š” ๋ฉค๋ฒ„๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
โ€ข
final์€ ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜, ๋ฉ”์†Œ๋“œ์™€ ํด๋ž˜์Šค์˜ ๋ณ€๊ฒฝ(์˜ค๋ฒ„๋ผ์ด๋”ฉ, ์ƒ์†)์„ ๋ง‰์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋‘ ํ‚ค์›Œ๋“œ๋Š” ์ž๋ฐ”์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…์œผ๋กœ, ์ž˜ ์ดํ•ดํ•˜๋ฉด ํšจ์œจ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค!

์š”์•ฝ

static์€ '๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€์„œ ๋ชจ๋‘๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ฉค๋ฒ„', final์€ '๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ํ•œ ์ƒ์ˆ˜๋‚˜ ์ƒ์†/์˜ค๋ฒ„๋ผ์ด๋”ฉ ๊ธˆ์ง€'๋ฅผ ์˜๋ฏธํ•ด์š”.
static๊ณผ final์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ์ฝ”๋“œ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜์ƒ์—์„œ ์ž์„ธํ•œ ์˜ˆ์ œ์™€ ์„ค๋ช…์„ ๊ผญ ํ™•์ธํ•ด๋ณด์„ธ์š”!
๊ถ๊ธˆํ•œ ์  ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”! ์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ ๋˜์„ธ์š”~