IT_Programming/C#

프로퍼티

JJun ™ 2006. 2. 27. 14:14

접근제한자 자료형 프로퍼티명

{
 get
 {
  return 반환값;
 }

 set
 {
  멤버변수 = value;
 }
}

 

클래스는 자료는 감추고 필요한 메소드만 노출 시킨다는 원칙에 의해 설계되므로
자료의 값을 변경하거나 얻어오고 싶을 때는 set/get메소드를 이용한다. ["()"가 없다.]


여기서 주의할 점은 set메소드만이 value이다.
이것은 어떤값이 들어오는 것이 아니라 키워드이다.

get과 set은 프로퍼티의 접근자라고 부른다.

 

get접근자만 있는 프로퍼티를 읽기 전용 프로퍼티,
set접근자만 있는 프로퍼티를 쓰기 전용 프로퍼티라고한다.

 

* 배열을 프로퍼티로 한 것이 인덱서(indexer)이다.

 

==============================================================================

 

using System;

 

class NameChart
{
    private string name;
// private string tel;

 

    public string Name1 // 메소드 임에도 ()가 없다.
    {
      get
      {
         Console.WriteLine("여기는 Name프로퍼티의 get입니다.");
         return name;
      }

     

      set
      {
         Console.WriteLine("여기는 Name프로퍼티의 set입니다.");
         this.name = value;
      }
    }

 

/* public string Tele1
 {
  get
  {
   return tel;
  }

  set
  {
   this.tel = value;
  }
 }  */
}

 

class MainPage
{
 public static void Main()
 {
  NameChart NC = new NameChart();
  
  NC.Name1 = "김현준"; // 메소드 호출인데 () 없으니 프로퍼티가 있다는 것이 연상 가능함
  Console.WriteLine("제 이름은 {0}입니다.", NC.Name1);

/*  NC.Tele1 = "011-9327-7794";
  Console.WriteLine("전화번호는 {0}입니다.", NC.Tele1); */
 }
}

'IT_Programming > C#' 카테고리의 다른 글

System Exception  (0) 2006.02.27
예외처리  (0) 2006.02.27
배열  (0) 2006.02.27
as 연산자  (0) 2006.02.27
Is 연산자  (0) 2006.02.27