2021. 2. 2. 23:02ใ๊ฐ๋ ์ ๋ฆฌ ์์ ์ค/Java
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค!
์ฃผ๋ํ๋์ 2020๋ 02์ 01์ผ ๋ถํฐ ๊ตญ๋น์ง์ ๊ต์ก์ผ๋ก FullStack ๊ณผ์ ์ ๋ฃ๊ฒ ๋์์ต๋๋ค.
์ด์ ๊ณต๋ถ ํ ๊ฒ์ ๋ณต์ตํ ๊ฒธ ํฌ์คํ ์ ์์ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ ์ ๊ธ์ด ๋์์ด ๋์ จ๋ค๋ฉด ๊ตฌ๋ ๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋๊ธ ๋ฌ์์ฃผ์๋ฉด ๋๋จํ ๊ณ ๋ง๊ฒ ์ต๋๋ค!
๐ JAVA๋?
๐ ๊ฐ์ฒด์งํฅ์ธ์ด (Objec Oriented Programming Language)
๐ C์ธ์ด๋ ์ ์ฐจ ์งํฅ ์ธ์ด (Structured Programming Language)์ด๋ค.
๐ ๊ฐ์ฒด์งํฅ์ธ์ด์ ์ฅ์ ์ ์ฌํ์ฉ์ฑ์ด๋ค.
-> ์ฌํ์ฉ์ฑ์ ์ ์ง๋ณด์ ์ธก๋ฉด์์ ๋งค์ฐ ์ค์!
๐ ์ ๊ทผ์ ํ์
Member๋ค์ Object ์์ ๋ค๋ง์ ์์ ์ด์ ํน์ง์ด๋ฏ๋ก, ๋์ธ์ ์ผ๋ก ๊ณต๊ฐ๋๋ ๊ฒ์ด ์ ์ข์ ๋๊ฐ ์์ต๋๋ค.
๊ทธ๋ฐ ์ด์ ๋ก ํ๋ก๊ทธ๋๋จธ๊ฐ Object์ Member์๊ฒ ์ ๊ทผ ์ ํ์ ๊ฑธ ์๊ฐ ์๋๋ฐ, JAVA์์๋ ์ด๋ฅผ '์ ๊ทผ ์ ํ์'๋ผ ํฉ๋๋ค.
ใใใใ๐ ์ ๊ทผ ์ ํ์ ๋ฒ์ ์์: Public > Protected > Default > Private
๐ Public: ๋ชจ๋ ์ ๊ทผ์ ํ์ฉ
ใใใใ๐ ๋ค์ด๋ฒ ์นดํ๋ฑ๊ณผ ๋น์ ๋ฅผ ํ๋ค๋ฉด ๊ฐ์ ์ ์ํด๋ ๋ณผ ์ ์๋ ์ ์ฒด ๊ณต๊ฐ๊ธ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ธ๋ถ์ ๋ชจ๋ ใใใใใใClass ๋ฐ ์์ฑ์, Method, Field๋ก๋ถํฐ ์ ๊ทผ์ ์์ ํ ํ์ฉํ๊ณ , ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์๊ฒ Library์ฒ๋ผ ใใใใใใ๊ณต์ ํ๋ ค๊ณ ํ๋ค๋ฉด ์ด๊ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ใใใใ๐ Package๊ฐ ๋ค๋ฅธ Package์์ import๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
๐ Protected: ๊ฐ์ Package(Folder)์ ์๋ Object์ ์์๊ด๊ณ์ Object๋ค์๊ฒ๋ง
ใใใใใใใ์ ๊ทผ ํ์ฉ. ์ฆ, ์์ ๊ด๊ณ๊ฐ ์๋ ๋ค๋ฅธ Package Class ์ ๊ทผ ์ฐจ๋จ.
ใใใใ๐ ๋ค๋ฅธ Package์ ์๋ ์์ฑ์, Method, Field๋ ํธ์ถํ์ง ๋ชปํ์ง๋ง, ์์ ๊ด๊ณ๊ฐ ์๋ Class๋ผ๋ฉด ์์ธ๋ก
ใใใใใใํธ์ถ์ด ๊ฐ๋ฅํฉ๋๋ค.
ใใใใ๐ ์์ ์ฌ์ง๊ณผ ๊ฐ์ด Package๊ฐ ๋ค๋ฅด๋, ์์์ ๋ฐ๋ ๊ด๊ณ๋ผ๋ฉด ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
ใใใใ๐ Package1์ ์๋ test1 Class์์ ๋ค๋ฅธ Package์ ์๋ Protected ์์ฑ์๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด test3 Class๋ฅผ
ใใใใใใ์์ ๋ฐ์๋๋ ์ ์ ์๋ํ๋ ๊ฒ์ด์ง์. ๋ฐ๋๋ก test3์์ test1์ ์์ ๋ฐ์ผ๋ ค๊ณ ํ๋ค๋ฉด
ใใใใใใ์ค๋ฅ๊ฐ ๋ฐ์ ํฉ๋๋ค.
ใใใใใใ-> ๋จ, Protected๊ฐ ๋ค์ด์๋ Class๊ฐ ๋ถ๋ชจ Class (Super Class)๋ผ๋ฉด ๊ฐ๋ฅ.
๐ Default: ๊ฐ์ Package(Foler)์ ์๋ Object๋ค๋ง ์ ๊ทผ ํ์ฉ. ์ฆ, ๋ค๋ฅธ Package ใใใใใใใClass ์ ๊ทผ ์ ๋ถ ์ฐจ๋จ.
ใใใใ๐ Class ์ ์ธ ๋น์ Public์ด๋, Protected ํน์ Private๋ฅผ ์ถ๊ฐํ์ง ์์ผ๋ฉด ์์ด ๋จ์ด ๊ทธ๋๋ก Dafulat๊ฐ
ใใใใใใ๊ธฐ๋ณธ์ผ๋ก ์ค์ ๋์ด ๋ค๋ฅธ Package์์ Class ์ ์ธ๊ณผ ์์ฑ์, Method, Field์ ํธ์ถ์ด ๋ถ๊ฐ๋ฅํด์ง๋๋ค.
ใใใใใใ๋ฌผ๋ก ๋์ผ Package์์์๋ ๋ชจ๋ ๊ฒ ํ์ฉ์ ๋๋ค.
๐ Private: ํ์ฌ Object๋ด์์๋ง ์ ๊ทผ ํ์ฉ. ์ฆ, ๋ชจ๋ ์ธ๋ถ Class ์ ๊ทผ ์ฐจ๋จ.
ใใใใ๐ ๊ฒ์ํ ๊ธ๊ณผ ๋น์ ํ์๋ฉด ๋น๊ณต๊ฐ ๊ธ์ด๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ์ฆ, ๊ธ์ ์ด ์ฌ๋๋ง ๋ณผ ์ ์๋ค๋ ๊ฒ๋๋ค.
ใใใใใใ๋์ผ Package๋ ๋ค๋ฅธ Package๋ ์ ๋ถ ์ ๊ทผ์ด ๋ถ๊ฐํฉ๋๋ค.
ใใใใ๐ Private์ ๋ฌด์กฐ๊ฑด Class ๋ด๋ถ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์ฃผ๋ํ๋์ ์ด๋ฒ ํฌ์คํ
์ด ์ด๋ ์
จ๋์? ๊ตฌ๋
, ๊ณต๊ฐ๊ณผ ๋๊ธ์ ์ฃผ๋ํ๋์๊ฒ ๋งค์ฐ ํฐ ํ์ด ๋ ๊ฒ์
๋๋ค!
'๊ฐ๋ ์ ๋ฆฌ ์์ ์ค > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๋ฐ๋ณต๋ฌธ (0) | 2021.02.07 |
---|---|
[JAVA] ์กฐ๊ฑด๋ฌธ (0) | 2021.02.06 |
[JAVA] ํ๋ณํ(Type Conversion) (0) | 2021.02.05 |
[JAVA] ์ฐ์ฐ์(Operator) (0) | 2021.02.04 |
[JAVA] ๋ณ์(Variable)์ ์ ์น/ํ์น ์ฐ์ฐ (0) | 2021.02.03 |