티스토리 뷰
정보은닉이라고 하면 보여주기 싫은 정보를 감추는 것으로 해석할 수 있다.
객체지향 프로그래밍 언어에서의 정보은닉은 인스턴스의 멤버에 직접접근을 막는 것이다.
class Program{
public int no = 0;
}
객체를 정의하고 인스턴스를 생성하고 위에 제시한 no라는 변수에 접근이 가능할 것이다. 하지만 no에 10이하의 수만 저장할 수 있다고 할 때 no의 접근에 10이하의 수로 제한하는 어떤 제한하는 방법도 가지고 있지 않다.
class Program{
int no = 0;
public void setNo(int no){
if(no > 10){
return;
}
this.no = no;
}
public int getNo(){
return no;
}
}
그래서 getter와 setter라는 접근자 메서드와 설정자 메서드를 사용해서 잘못된 입력을 막도록한다.
C#에서는 getter와 setter를 간결하게 만들어주는 프로퍼티 설정을 제공하고 있다. 하지만 실무 프로그래밍을 할때 쓰여지고 있는지는 모르겠다.
class Program{
int no = 0;
public int No{
set
{
if(value <= 60){
no = value; //value라는 변수는 대입되는 변수로서 내부에 감춰져 있다.
}
}
get
{
return no;
}
}
}
'C#' 카테고리의 다른 글
C# 예외처리 (0) | 2014.11.19 |
---|---|
CLR(C#가상머신) 초기화시 값을 전달할 경우 app.config 활용 (0) | 2014.11.18 |
상수를 나타내는 const와 읽기 전용의 readonly키워드 (0) | 2014.08.27 |
[델리게이트:delegate] (0) | 2014.06.24 |
객체지향[2] 특이한 연산자 오버로딩 (0) | 2014.06.20 |