ํ์์ ์ฐ๋ ๊ฒ๋ง ์ฐ๋ ๋
์ง๊ธ๊น์ง ๊ฐ๋ฐํ๋ฉด์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ด์ฌํ ์ผ๋ค ์ง์ ๋ค ํ๋ฉฐ ๊ฐ๋ฐ ํ์ง๋ง, ์ ์ ๊ฐ๊ฐ์ ์๋ฏธ๋ฅผ ์ ํํ ํ์ ํ์ง ๋ชปํ๊ณ ๊ฐ๋ฐํ๋ค. ์ด๋ฒ ์๊ฐ์๋ ๊ทธ๋ฐ ๊ณผ๊ฑฐ์ ๋๋ฅผ ๋ฐ์ฑํ๊ณ , ์ ๊ทผ ์ ์ด์์ ๋ํด ๊ณต๋ถํด์ ์ด๋ฅผ ์ ์ฌ์ ์์ ํ์ฉํ์ฌ ๋ ํจ์จ์ ์ธ ๊ฐ๋ฐ์ ์งํํ๊ณ ์ ๊ธฐ๋กํ๋ค.
์ ๊ทผ ์ ์ด์
์ ๊ทผ ์ ์ด์๋ ๋ณ์, ๋ฉ์๋, ํด๋์ค์ ์ ์ฉํ์ฌ ํด๋น ์์๋ค์ ์ผ๋ง๋งํผ ์ ๊ทผ ํ ์ ์๊ฒ ํ ๊ฒ์ธ์ง ์ง์ ํ๋ค. ์ฒ์์ public์ผ๋ก ์ง์ ํด๋์ผ๋ฉด ์ด๋์๋ ์ ๊ทผ ํ ์ ์์ผ๋๊น ๋ชจ๋ ์์๋ฅผ public์ผ๋ก ์ง์ ํ๋ฉด ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฑฐ ์๋? ๋ผ๊ณ ์๊ฐํ๋ ์์ ์ด ์์๋ค. ํ์ง๋ง ์กฐ๊ธ์ฉ ๋ฐฐ์๊ฐ๋ฉด์ ์ด๋ฌํ ์๊ฐ์ ์ ๋ง ์ด๋ณด๋ผ์ ํ ์ ์๋ ์ฉ๊ฐํ ์๊ฐ์ด๋ผ๊ณ ๋๊ผ๋ค.
์ด๋ ํ๋ก๊ทธ๋๋ฐ์ ๋ ์ด๋ ต๊ฒ ํ๊ธฐ ์ํด ์กด์ฌํ๋ ๊ฒ์ด ์๋๋ผ, ์ง์์๋ ์์ ๋ฅผ ์ํด ์กด์ฌํ๋ ๊ฒ์ด๋ค.
- ์ํ์ฝ๋ฉ, ์ด๊ณ ์ ๋
์ํ์ฝ๋ฉ ์์๋ ํจ๊ป ์ฐธ๊ณ ํ๋ฉฐ ์ ๊ทผ ์ ์ด์์ ๋ํด ๊ณต๋ถํ๋ ์ค์ ์์ ๋ง์ด ๊ฐ์ฅ ์ธ์ ๊น์๋ค. ์ ์์ ๋ฅผ ์ํด ๊ท์ ๋ฅผ ํ๋ ๊ฒ์ผ๊น?
๋ ๋์๊ฐ Java ๋ OOP(Object Oriented Programing) ๋ฅผ ์งํฅํ๋ ์ธ์ด์ด๊ณ , ์ด๋ฌํ ๋ฐฉ๋ฒ๋ก ์ ํน์ง ์ค ์บก์ํ๋ผ๋ ๊ฒ์ด ์กด์ฌํ๋ค. ์ด ์บก์ํ๋ผ๋ ๊ฒ์ ๋ชจ๋์ ๋ด๋ถ ๊ตฌํ์ ์๋ํํ์ฌ ๋ด๋ถ์์ ๋ฌธ์ ๋ ๋ณํ๊ฐ ๋ฐ์ํ๋๋ผ๋ ํด๋น ๋ชจ๋๊ณผ ํ๋ ฅํ๋ ์ธ๋ถ ๋ชจ๋์ ๋ฏธ์น๋ ์ํฅ์ด ์ค์ด๋ค๊ฑฐ๋ ํผ์ ธ๋๊ฐ์ง ์๋๋ก ํ๊ธฐ ์ํจ์ด๋ค.(์์ง๋์ ๊ฒฐํฉ๋์ ๋ํด ์ถํ ๊ณต๋ถํ์!)์ด๋ฌํ ๋ฐฉ๋ฒ๋ก ์ ํน์ง์ ์ค์ํ๊ธฐ ์ํด ์ ๊ทผ ์ ์ด์๊ฐ ํ์ํ ๊ฒ์ด๋ค.
์ ๊ทผ ์ ์ด์๋ผ๋ ๋ ์๋ค
์ด์ ์ ๊ทผ ์ ์ด์๋ผ๋ ๋ ์'๋ค'์ ํ๋์ฉ ์ดํด๋ณด๋ ค๊ณ ํ๋ค.
๋ํ์ ์ผ๋ก private โ default โ protected โ public ์์ผ๋ก ์ ๊ทผ ๊ถํ์ด ์ ์ ๋์ด์ง๋๋ฐ, ๋๋ ์์ง๊น์ง private์ public ์ด์ธ์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํด๋ณด์ง ๋ชปํ๋ค.
- private
- ๋ง ๊ทธ๋๋ก ๊ต์ฅํ ํ๋ผ์ด๋นํ ์ ๊ทผ ์ ์ด์์ด๋ค.
- ํด๋น ์ ๊ทผ ์ ์ด์๊ฐ ์ ์ธ๋ ๋ณ์ ํน์ ๋ฉ์๋๋ ์์ ์ด ์ํ ํด๋์ค ๋ฐ๊นฅ์์ ํธ์ถ๋ ์ ์๋ค. ์ฆ, ๊ฐ์ฅ์ ๊ฐํ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ผ๊ณ ๋ณผ ์ ์๋ค.
- private ์ ๊ทผ ์ ์ด์๋ ํด๋์ค์์ ์ ์ธํ์ง ๋ชปํ๋ค.
- default
- ๊ธฐ๋ณธ ์ ๊ทผ ์ ์ด์์ด๊ธฐ ๋๋ฌธ์ ๋ณ์, ๋ฉ์๋, ํด๋์ค ์์ ์ ๊ทผ ์ ์ด์๊ฐ ์๋ต๋์ด ์๋ค๋ฉด ํด๋น ์์๋ **default** ์ ๊ทผ ์ ์ด์๋ก ์ ์ธ๋๋ค๋ ์๋ฏธ์ด๋ค.
- ํด๋น ์ ๊ทผ ์ ์ด์๊ฐ ํธ์ถ๋ ์์๋ ๋ค๋ฅธ ํจํค์ง์์ ํธ์ถ์ด ๋ถ๊ฐ๋ฅํ์ง๋ง, ํด๋น ์์๊ฐ ์ํ ํจํค์ง ๋ด์์๋ ๋ชจ๋ ๊ฒ ํ์ฉ๋๋ ์ ๊ทผ ์ ์ด์์ด๋ค.
- protected
- ํด๋น ์ ๊ทผ ์ ์ด์๋ ํด๋์ค์์ ์ ์ธํ์ง ๋ชปํ๋ค.
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํด๋น ์ ๊ทผ ์ ์ด์๊ฐ ์ ์ธ๋ ๋ณ์, ๋ฉ์๋๋ ์์ ์ด ์ํ ํด๋์ค์ ํจํค์ง ๋ด์์๋ง ํธ์ถ๋๋ค.
- ๋๋ ์ธ๋ถ ํจํค์ง์์ ํด๋น ํด๋์ค๋ฅผ ์์ํ๋ค๋ฉด ์์ธ์ ์ผ๋ก ํธ์ถ ํ ์ ์๋ค.
- public
- ๋ชจ๋ ๊ฒ์ด ํ์ฉ๋ ์คํ ๋ง์ธ๋์ ์ ๊ทผ ์ ์ด์
- ๋ณ์, ๋ฉ์๋, ํด๋์ค ๋ชจ๋ ์์์ ์ ์ธ ๊ฐ๋ฅํ๋ฉฐ, ์์ ์ด ์ํ ํจํค์ง๋ ์ธ๋ถ ํจํค์ง๋ ๊ด๊ณ์์ด ์ ๊ทผ ๊ฐ๋ฅํ ์ ๊ทผ ์ ์ด์์ด๋ค.
'Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
F005 - Stack & Heap Memory (0) | 2021.05.08 |
---|---|
F004 - Reference Type (0) | 2021.05.08 |
F002 - Primitive Type (0) | 2021.05.06 |
F001 - psvm (0) | 2021.05.06 |
TIL_W02 | Variable, Primitive / Reference Type, Literal, Array (0) | 2020.12.15 |