C# 프로그래밍 - 속성(property)

반응형

C# 프로그래밍 - 속성(property)

속성(Property)은 클래스의 필드(멤버 변수)에 대한 접근자(accessor)를 제공하는 방법입니다. 속성을 사용하면 필드에 직접 접근하는 것보다 객체의 내부를 더 안전하게 관리할 수 있으며(데이터 캡슐화, data encapsulation) 필드에 접근하고 설정할 때 추가 로직을 구현할수있습니다(유효성 검사, 기타)


속성(Property)의 구조

접근한정자 자료형 속성이름
{
    get
    {
        // 값을 반환하는 로직
    }
    set
    {
        // 값을 설정하는 로직
    }
}

접근 한정자(Access Modifier) - 속성의 접근 수준을 의미합니다(public, private, internal, protected)
자료형(Data Type) - 속성이 반환하는 값의 자료형을 의미합니다. 
속성 이름 - 속성의 이름을 의미합니다. 일반적으로 필드와 구별하기위해 대문자로 표기하는 경우가 많습니다.
get{} - 값을 가져올 때 호출되는 블록입니다. 이 블록에서 반환된 값은 속성을 읽을 때 반환됩니다.
set{} - 값을 설정할 때 호출되는 블록입니다.
(속성을 읽기 전용으로 만들려면 set 접근자를 제거하고 쓰기 전용으로 만들려면 get 접근자를 제거합니다)


속성의 사용 예시

Name 속성은 객체의 name 필드에 대한 접근을 제공하고 값을 설정하는데 사용합니다. return 키워드를 사용하여 값을 반환하고 value 키워드를 사용하여 값을 할당합니다. 속성과 필드는 동일한 자료형을 사용해야합니다(string)

class Person
{
    private string name;

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }
}


class Program
{
    static void Main()
    {
        Person person = new Person();

        person.Name = "Alice";
        Console.WriteLine(person.Name);
    }
}





반응형

댓글

Designed by JB FACTORY