์ ๊ทผ์ ์ด์ (access modifier)
์๋ฐ์์ ํด๋์ค์ ํด๋์ค์ ๋ฉค๋ฒ๋ค์ ์ฌ์ฉํ ๋ ์ ๊ทผํ ์ ์๋ ๋ฒ์๋ฅผ ์ง์ ํ๋ ๊ฒ.
- public, private, protected, default ํค์๋๊ฐ ์๋ค.
๊ณต๊ฐ๋ฒ์๋ public > protected > default > private ์์ด๋ค.
์ฆ private์ ๊ณต๊ฐ๋ฒ์๊ฐ ๊ฐ์ฅ ์ข์ผ๋ฉฐ, public์ด ๊ฐ์ฅ ๋๋ค.
์ ๊ทผ์ ์ด์๋ ํด๋์ค์ ํด๋์ค๋ฉค๋ฒ์๋ฐ๋ผ ์ฌ์ฉํ ์ ์๋ ํค์๋ ์ข ๋ฅ์ ์ฐจ์ด๊ฐ ์๋ค!
1. ํด๋์ค์ ์ ๊ทผ์ ์ด์
ํด๋์ค์ ์ ๊ทผ์ ์ด์๋
1. public
2. default(๊ธฐ๋ณธ๊ฐ, ์๋ต๊ฐ๋ฅ) ์ด ์๋ค.
1. public ํด๋์ค :
- ๋ชจ๋ ํด๋์ค์์ ์ด ํด๋์ค์ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
- ๋ค๋ฅธ ํจํค์ง์์ ์ ๊ทผ๊ฐ๋ฅํ๋ค.
public class Machine{
}
2. default ํด๋์ค :
- ํด๋์ค ์์ ๋ช ์ํ์ง ์์ผ๋ฉด default ๋ฅผ ๋ํ๋ธ๋ค.
- ๊ฐ์ ํจํค์ง ์์ ํด๋์ค์์๋ง ์ ๊ทผํ ์ ์๋ค.
class Calculate{
}
2. ํด๋์ค ๋ฉค๋ฒ์ ์ ๊ทผ์ ์ด์
ํด๋์ค๋ด๋ถ์ ํด๋์ค ๋ฉค๋ฒ๊ฐ ์ฌ์ฉํ ์ ์๋ ์ ๊ทผ์ ์ด์๋
1. private
2. default
3. protected
4. public ์ด ์๋ค.
1. private ๋ฉค๋ฒ :
- ๋ชจ๋ ์ธ๋ถ ํธ์ถ์ ๋ง๋๋ค.
- ๊ฐ์ ํด๋์ค์์ ์๋ ๋ฉค๋ฒ๋ค๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
2. default ๋ฉค๋ฒ :
- ๊ฐ์ ํจํค์ง์์ ํด๋์ค๋ค์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
3. protected ๋ฉค๋ฒ :
- ๊ฐ์ ํจํค์ง ์์ ํด๋์ค๋ค + ๋ค๋ฅธ ํจํค์ง์ ์์ ํด๋์ค์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
4. public ๋ฉค๋ฒ :
- ํจํค์ง ์๊ด์์ด , ๋ชจ๋ ํด๋์ค์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
ex)
puvblic Class sumCounter {
private int cnt = 0;
private int max;
public sumCounter(int max){
this.max= max;
}
public void plusCount() {
if(cnt >= max){
System.out.println("์ต๋๊ฐ์ ์ด๊ณผํ์ต๋๋ค");
return;
}
cnt++;
}
public int getCount(){
return cnt;
}
}
๐ปTip
- default, private ๋ฉค๋ฒ๋ ๊ฐ์ ํจํค์ง์์ ๋ฉค๋ฒ, ํด๋์ค์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
- ์ ๊ทผ์ ์ด์๋ฅผ ํตํด '์บก์ํ'๊ฐ ๊ฐ๋ฅํด์ง๋ค.
- ์บก์ํ : ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์จ๊ธฐ๊ณ , ๊ธฐ๋ฅ(๋ฉ์๋)๋ ๊ผญ ํ์ํ ๊ธฐ๋ฅ๋ง ๋ ธ์ถํ๋๊ฒ.
ํ๋ฆฐ ๋ถ๋ถ์ด๋ ์ด์ํ ๋ถ๋ถ์ด ์์ผ๋ฉด ๋๊ธ๋ก ์ง์ ํด์ฃผ์ธ์!
๊ฐ์ฌํฉ๋๋ค :)
'๐ป > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ์์ - super, ์ธํฐํ์ด์ค(Interface), ์ค๋ฒ๋ผ์ด๋ฉ(Overriding), ์ถ์ํด๋์ค(Abstract Class) (12) | 2024.08.30 |
---|---|
[JAVA] ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ (0) | 2024.08.28 |
[JAVA] ์์ฑ์์ this. (1) | 2024.08.10 |
[JAVA] ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ | ๋ฉ์๋ ํธ์ถ | ๋ฐ์ดํฐ ํ์ (1) | 2024.07.30 |
[JAVA] ํด๋์ค(Class), ๊ฐ์ฒด, ์ธ์คํด์ค (0) | 2024.07.18 |