티스토리 뷰

정보은닉이라고 하면 보여주기 싫은 정보를 감추는 것으로 해석할 수 있다.

 

객체지향 프로그래밍 언어에서의 정보은닉은 인스턴스의 멤버에 직접접근을 막는 것이다.

 

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;

          }

   }

 

 }

 

Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday