반응형
이번엔 property란 녀석에 대해 한번 알아보자..

MSDN을 뒤져보니 C++에도 property가 있긴한데, 닷넷으로 발전하면서 추가된 사항인것으로 보여진다. 즉 Managed C++에서 사용가능한 것으로 보여진다.

뭐 크게 어렵거나 복잡한 내용은 아니다.
우선 보자.


/// sample.cs
using System;

class PropClass
{
    private string test;
    private string Test
    {
         get
         {
              return test;
         }
         set
         {
               test = value + "가 들어가는 거야."
         }
    }
}

public class Test
{
    public static void Main()
    {
         PropClass pc = new PropClass();
         pc.Test = "test";
         Console.WriteLine(pc.Test);
    }
}

/// end
이러면 결과는

"test가 들어가는 거야."

가 떡 하니 찍히게 된다. 별거 아니다.. OOP, class어쩌고 하는 자료들을 보면 캡슐화어쩌고 하면서, 멤버 변수를 직접적으로 핸들링하는건 좋지 않소.. 이런 이야기를 많이 한다.. 그래서 멤버 변수를 private로 선언하고, set/get멤버 함수를 하나씩 만들어서 사용했는데, 이걸 간략하게 해준거라고 보면 된다..

클래스 외부에서는 꼭 멤버 변수를 직접 핸들링 하는 것처럼 보이지만, 실제론 멤버 변수가 아니 좀 요상한 녀석인 것이다. 그래서 이녀석을 어떤곳에선 "스마트 필드"라고 부르기도 한다더군..

반응형

+ Recent posts