Java ์ ๊ทผ์ง์ ์ ์ฝ๊ฒ ์ดํดํ๊ธฐ!
์ด ์์์ Java์์ ํด๋์ค, ๋ณ์, ๋ฉ์๋์ ๋ถ์ฌ์ย ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋ ๋ฒ์๋ฅผ ์ ํ๋ '์ ๊ทผ์ง์ ์'์ ๋ํด ์ค๋ช
ํด์. ์ ๊ทผ์ง์ ์๋ ํ๋ก๊ทธ๋จ์ ์์ ํ๊ณ ๊น๋ํ๊ฒ ๋ง๋๋ ์ค์ํ ๊ฐ๋
์ด๋๋๋ค!
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
6.
7.
8.
์ ๊ทผ์ง์ ์๋? [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ย ๋ค ๊ฐ์ง๊ฐ ์๊ณ , ๊ฐ๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฒ์๊ฐ ๋ค๋ฅด์ฃ . ์ด๋ฅผ ์ ํ์ฉํ๋ฉด ์ฝ๋๊ฐ ๋ ์์ ํ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฌ์์ ธ์! ์์์์ ์ง์ ์ค์ตํ๋ฉฐ ์ดํด๋๋ฅผ ๋์์ผ๋, ์ฌ๋ฌ๋ถ๋ ๊ผญ ๋ฐ๋ผ ํด ๋ณด์ธ์~ 
๋ ๊ถ๊ธํ ์ ์์ผ๋ฉด ๋๊ธ๋ก ๋ฌผ์ด๋ด ์ฃผ์ธ์!
์ข์์์ ๊ตฌ๋
๋ ์์ง ๋ง์๊ณ ์~ 