Search

Java ์ ‘๊ทผ์ง€์ •์ž

Java ์ ‘๊ทผ์ง€์ •์ž ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!

์ด ์˜์ƒ์€ Java์—์„œ ํด๋ž˜์Šค, ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ์— ๋ถ™์—ฌ์„œย ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ์ •ํ•˜๋Š” '์ ‘๊ทผ์ง€์ •์ž'์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์š”. ์ ‘๊ทผ์ง€์ •์ž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์•ˆ์ „ํ•˜๊ณ  ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋ž๋‹ˆ๋‹ค!

๋ชฉ์ฐจ

1.
์ ‘๊ทผ์ง€์ •์ž๋ž€? [00:00:00]
2.
์ ‘๊ทผ์ง€์ •์ž์˜ ์ข…๋ฅ˜์™€ ์˜๋ฏธ [00:00:25]
3.
ํŒจํ‚ค์ง€์™€ ํด๋ž˜์Šค ๊ตฌ์กฐ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต [00:02:04]
4.
์ƒ์„ฑ์ž, ๊ฒŒํ„ฐ/์„ธํ„ฐ, toString ๋ฉ”์†Œ๋“œ ๋งŒ๋“ค๊ธฐ [00:04:06]
5.
์ƒ์†๊ณผ ์ ‘๊ทผ์ง€์ •์ž ๊ด€๊ณ„ ์ดํ•ดํ•˜๊ธฐ [00:07:40]
6.
๊ฐ ์ ‘๊ทผ์ง€์ •์ž์˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ ๋ฒ”์œ„ ์ •๋ฆฌ [00:13:13]
7.
๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ์ ‘๊ทผ ํ…Œ์ŠคํŠธ [00:15:33]
8.
์ ‘๊ทผ์ง€์ •์ž ํ•ต์‹ฌ ํฌ์ธํŠธ ์ •๋ฆฌ [00:20:01]

์ ‘๊ทผ์ง€์ •์ž๋ž€? [00:00:00]

์ ‘๊ทผ์ง€์ •์ž๋Š” ํด๋ž˜์Šค, ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ๊ฐ€ย ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ‚ค์›Œ๋“œ์˜ˆ์š”. ์‰ฝ๊ฒŒ ๋งํ•ด, "๋ˆ„๊ฐ€ ๋‚ด ๋ฌผ๊ฑด(๋ฐ์ดํ„ฐ)์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๋งŒ์งˆ ์ˆ˜ ์žˆ๋ƒ?"๋ฅผ ์ •ํ•˜๋Š” ํ‘œ์‹œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ผ์š”.

์ ‘๊ทผ์ง€์ •์ž์˜ ์ข…๋ฅ˜์™€ ์˜๋ฏธ [00:00:25]

Java์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ 4๊ฐ€์ง€ ์ ‘๊ทผ์ง€์ •์ž๊ฐ€ ์žˆ์–ด์š”:
1.
public (ํผ๋ธ”๋ฆญ)
โ€ข
๋ชจ๋‘๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
โ€ข
์˜ˆ: ์ง‘ ์•ž๋งˆ๋‹น์ฒ˜๋Ÿผ ๋ˆ„๊ตฌ๋‚˜ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.
2.
private (ํ”„๋ผ์ด๋น—)
โ€ข
๊ฐ™์€ ํด๋ž˜์Šค ์•ˆ์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
โ€ข
์˜ˆ: ๋‚ด ๋ฐฉ ์•ˆ, ๊ฐ€์กฑ๋งŒ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.
3.
default (๋””ํดํŠธ)
โ€ข
์ ‘๊ทผ์ง€์ •์ž๋ฅผ ์•ˆ ์“ฐ๋ฉด ์ž๋™ ์ ์šฉ
โ€ข
๊ฐ™์€ ํŒจํ‚ค์ง€(ํด๋”) ์•ˆ์— ์žˆ๋Š” ํด๋ž˜์Šค๋ผ๋ฆฌ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
โ€ข
์˜ˆ: ๊ฐ™์€ ์•„ํŒŒํŠธ ๋‹จ์ง€ ์ฃผ๋ฏผ๋งŒ ์ถœ์ž… ๊ฐ€๋Šฅํ•ด์š”.
4.
protected (ํ”„๋กœํ…ํ‹ฐ๋“œ)
โ€ข
๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ +
โ€ข
๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ผ๋„ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ
โ€ข
์˜ˆ: ๊ฐ™์€ ์•„ํŒŒํŠธ ์ฃผ๋ฏผ + ์นœ์ฒ™ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ!

ํŒจํ‚ค์ง€์™€ ํด๋ž˜์Šค ๊ตฌ์กฐ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต [00:02:04]

โ€ข
๋‘ ๊ฐœ์˜ ํŒจํ‚ค์ง€ย a์™€ย b๋ฅผ ๋งŒ๋“ค๊ณ ,
โ€ข
aย ํŒจํ‚ค์ง€์—ย Personย ํด๋ž˜์Šค๋ฅผ,
โ€ข
bย ํŒจํ‚ค์ง€์—ย Studentย ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์ƒ์† ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ–ˆ์–ด์š”.
์ด๋ ‡๊ฒŒ ํŒจํ‚ค์ง€์™€ ํด๋ž˜์Šค๋ฅผ ๋‚˜๋ˆ„๋ฉด ์ ‘๊ทผ์ง€์ •์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์‹คํ—˜ํ•˜๊ธฐ ์ข‹์•„์š”.

์ƒ์„ฑ์ž, ๊ฒŒํ„ฐ/์„ธํ„ฐ, toString ๋ฉ”์†Œ๋“œ ๋งŒ๋“ค๊ธฐ [00:04:06]

โ€ข
์ƒ์„ฑ์ž(Constructor): ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”์†Œ๋“œ
โ€ข
๊ฒŒํ„ฐ(Getter) / ์„ธํ„ฐ(Setter): ๋ณ€์ˆ˜์— ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ  ๊ฐ’์„ ์ฝ๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ
โ€ข
toString(): ๊ฐ์ฒด ์ •๋ณด๋ฅผ ๋ฌธ์ž์—ด๋กœ ์‰ฝ๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๋ฉ”์†Œ๋“œ
์ ‘๊ทผ์ง€์ •์ž๋ฅผ ํ™œ์šฉํ•ด ๋ณ€์ˆ˜๋Š”ย private๋กœ ์ˆจ๊ธฐ๊ณ , ๊ฒŒํ„ฐ/์„ธํ„ฐ๋Š”ย public์œผ๋กœ ์—ด์–ด ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐ’์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์š”.

์ƒ์†๊ณผ ์ ‘๊ทผ์ง€์ •์ž ๊ด€๊ณ„ ์ดํ•ดํ•˜๊ธฐ [00:07:40]

โ€ข
Studentย ํด๋ž˜์Šค๊ฐ€ย Personย ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์œผ๋ฉด,
โ€ข
protectedย ๋ฉค๋ฒ„๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ผ๋„ ์ƒ์†๋ฐ›์€ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์š”.
โ€ข
ํ•˜์ง€๋งŒย defaultย ๋ฉค๋ฒ„๋Š” ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—,
โ€ข
๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์žˆ์œผ๋ฉด ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด,ย Student๋Š”ย Person์˜ย protectedย ๋ณ€์ˆ˜๋Š” ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ,ย defaultย ๋ณ€์ˆ˜๋Š” ๋ชป ์จ์š”.

๊ฐ ์ ‘๊ทผ์ง€์ •์ž์˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ ๋ฒ”์œ„ ์ •๋ฆฌ [00:13:13]

์ ‘๊ทผ์ง€์ •์ž
๊ฐ™์€ ํด๋ž˜์Šค
๊ฐ™์€ ํŒจํ‚ค์ง€
์ƒ์†๋ฐ›์€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€
๊ทธ ์™ธ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€
public
O
O
O
O
protected
O
O
O
X
default
O
O
X
X
private
O
X
X
X
โ€ข
์ค‘์š”!ย ์ ‘๊ทผ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋Š”ย ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค ๊ธฐ์ค€์ด์—์š”.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด,ย Student๊ฐ€ย Person์„ ์ƒ์†๋ฐ›์•„๋„,ย Person์—ย default๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š”ย Student์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•ด์š”.

๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ์ ‘๊ทผ ํ…Œ์ŠคํŠธ [00:15:33]

โ€ข
Managerย ํด๋ž˜์Šค์—์„œย Studentย ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•ด ๋ดค์–ด์š”.
โ€ข
publicย ๋ณ€์ˆ˜๋Š” ์–ด๋””์„œ๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ,
โ€ข
protected,ย default,ย privateย ๋ณ€์ˆ˜๋Š” ์ ‘๊ทผ์ด ์ œํ•œ๋ผ์„œ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์–ด์š”.
โ€ข
๊ทธ๋ž˜์„œ ๊ฒŒํ„ฐ/์„ธํ„ฐ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๊ฐ’์„ ์ฝ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

์ ‘๊ทผ์ง€์ •์ž ํ•ต์‹ฌ ํฌ์ธํŠธ ์ •๋ฆฌ [00:20:01]

โ€ข
์ ‘๊ทผ์ง€์ •์ž๋Š” **์บก์Аํ™”(encapsulation)**๋ฅผ ์œ„ํ•ด ๊ผญ ํ•„์š”ํ•ด์š”.
โ€ข
๋ณ€์ˆ˜๋Š” ๋ณดํ†ตย private๋กœ ์ˆจ๊ธฐ๊ณ ,
โ€ข
publicย ๊ฒŒํ„ฐ/์„ธํ„ฐ๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ค๋ฃจ๋Š” ๊ฒŒ ์ข‹์€ ์Šต๊ด€!
โ€ข
protected๋Š” ์ƒ์† ๊ด€๊ณ„์—์„œ ์œ ์šฉํ•˜๊ณ ,
โ€ข
default๋Š” ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์š”.
โ€ข
์–ด๋””์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ์ง€๋Š”ย ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค์™€ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ•ด์š”.

๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ

Java์˜ ์ ‘๊ทผ์ง€์ •์ž๋Š” ํด๋ž˜์Šค, ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ์— ๋ถ™์—ฌ์„œย ๋ˆ„๊ฐ€ ์–ด๋””์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ •ํ•ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค.ย public,ย private,ย default,ย protectedย ๋„ค ๊ฐ€์ง€๊ฐ€ ์žˆ๊ณ , ๊ฐ๊ฐ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฅด์ฃ . ์ด๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๋” ์•ˆ์ „ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์›Œ์ ธ์š”! ์˜์ƒ์—์„œ ์ง์ ‘ ์‹ค์Šตํ•˜๋ฉฐ ์ดํ•ด๋„๋ฅผ ๋†’์˜€์œผ๋‹ˆ, ์—ฌ๋Ÿฌ๋ถ„๋„ ๊ผญ ๋”ฐ๋ผ ํ•ด ๋ณด์„ธ์š”~
๋” ๊ถ๊ธˆํ•œ ์  ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋ฌผ์–ด๋ด ์ฃผ์„ธ์š”!
์ข‹์•„์š”์™€ ๊ตฌ๋…๋„ ์žŠ์ง€ ๋งˆ์‹œ๊ณ ์š”~