๐ ์ ๊ทผ์ ์ด์ access modifier
- ๊ฐ์ ์งํฅ ์ธ์ด OOP ์ฐธ๊ณ :
- ๋ณ์, ๋ฉ์๋, ์์ฑ์์ ๋ํ ์ ๊ทผ ๊ถํ ์ง์ .
- private, public, protected, ์๋ฌด๊ฒ๋ ์์ฐ๋ ๊ฒฝ์ฐ(๊ธฐ๋ณธ ์ ๊ทผ ์ ์ด์: ๊ฐ์ ํจํค์ง ๋ด์์๋ง ์ฌ์ฉ).
- private์ ์ฌ์ฉํ๋ฉด ํด๋์ค ์ธ๋ถ์์๋ ์ ๊ทผํ ์ ์์. private ๋ฉค๋ฒ ๋ณ์๊ฐ ํด๋์ค ์์ผ๋ก ๋ค์ด์ค๊ฒ ๋ ๋ฐฐ๊ฒฝ์๋ ๋ฉค๋ฒ์ ์ ๊ทผํ๊ธฐ์ํด์ ๋ฉค๋ฒ ํจ์๊ฐ ํด๋์ค์ ๋ค์ด๊ฐ๊ฒ ๋์๊ธฐ ๋๋ฌธ.
์ ๋ณด์๋ information hiding
๐- privateํค์๋๋ฅผ ์ง์ ํด ์ธ๋ถ์์ ํด๋์ค ๋ด๋ถ์ ์ ๋ณด์ ์ ๊ทผํ์ง ๋ชปํ๋๋กํจ.
- private๋ณ์๋ฅผ ์ธ๋ถ์์ ์ ๊ทผํ๊ฒ ํ๋ ค๋ฉด public ๋ฉ์๋ ์ ๊ณตํจ. ์ฃผ๋ก get,set.
- public ๋ฉ์๋์ ๊ธฐ๋ฅ์ ํ์ฉํด์ ์ ๋ณด๋ฅผ ํธ๋ค๋งํ๋ฉด ๋๋ค.
- ํด๋์ค ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ์๋ชป ์ฌ์ฉํ๋ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ ์ ์์.
- ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋๋ก ์๋๋ ์ธํฐํ์ด์ค๋ง ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๊ฒํจ.
- why ์ ๋ณด์๋์ ํตํด public ๋ฉ์๋๋ฅผ ๊ฐ์ ธ์ค๋๊ฐ? 1. ์ ํจํ data๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๊ณ 2. data๋ฅผ ๋ณดํธํ ์ ์๋ค
์ ๊ทผ ์ ์ด์๋ฅผ ์ด์ฉํ ์ ๋ณด์๋
public class MyDate {
private int day;
private int month;
private int year;
private boolean isVaild = true;
public void setDay(int day){
this.day = day;
}
public int getDay(){
return day;
}
public int getMonth(){
return month;
}
public void setMonth(int month){
if (month <1 || month > 12 ){
isVaild = false;
} else {
this.month = month;
}
public int getYear(){
return year;
}
public void setYear(int year){
this.year = year;
}
public void showDate(){
if(isVaild){
Systme.out.println(year+ "๋
" + month + "์" + day + "์ผ ์
๋๋ค.");
} else {
Systme.out.println("์ ํจํ์ง ์์ ๋ ์ง์
๋๋ค.");
}
}
}
public class MyDateTest {
public static void main(String[] args) {
MyDate date = new MyDate();
date.setYear(2019);
date.setMonth(77);
date.setDay(100);
date.showDate();
MyDate date2 = new MyDate();
date2.setYear(2002);
date2.showDate();
}
}
'์ด๋ก > Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
this (0) | 2021.07.20 |
---|---|
์ฐธ์กฐ์๋ฃํ reference data type (0) | 2021.07.19 |
์์ฑ์ Constructor (0) | 2021.07.19 |
๊ฐ์ฒด ์งํฅ ์ธ์ด์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ํน์ง OOP Memory (0) | 2021.07.15 |
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ Object-Oriented Programming(OOP)์ด๋ (0) | 2021.07.15 |