상위 목록: 하위 목록: 작성 날짜: 읽는 데 7 분 소요

속성(Property)

클래스에서 필드의 값을 읽거나 쓸 수 있게 제공하는 멤버입니다. 데이터를 손쉽게 접근하고 안전성데이터의 유효성을 검사할 수 있습니다.

getset 접근자를 통해서 속성을 읽거나 쓸 수 있습니다.

속성은 public, private, internal, protected, protected internal, private protected로 표시할 수 있습니다.

접근 한정자는 속성에 접근하는 방법을 정의합니다.



Getter & Setter

using System;

class Data
{
    private int num = 127;

    public int ByteNumber
    {
        get
        {
            return num;
        }
        set
        {
            if (value >= 0 && value < 256)
            {
                num = value;
            }
        }
    }
}

Data라는 클래스 안에 ByteNumber는 속성으로 사용됩니다. num 필드는 속성 데이터를 백업할 저장소의 역할을 합니다.

해당 필드는 속성의 호출을 통해서 필드를 변경할 수 있도록 private를 사용합니다.

get 접근자를 사용하여 num 필드의 값을 읽습니다. 또한, set 접근자를 사용하여 num 필드의 값을 설정합니다.

set 접근자 사용시 속성 형식인 value라는 암시적 매개 변수를 사용하여 num 필드에 값을 할당합니다.


Data data = new Data();
data.ByteNumber = 33;
Console.WriteLine(data.ByteNumber);

클래스를 선언하고 ByteNumber에 접근하여 값을 할당할 수 있습니다. 호출할 경우에도 ByteNumber 속성을 불러와 사용합니다.

조건문 구문에 벗어날 경우, 값이 할당되지 않으며 초기화한 값이나 가장 마지막에 할당된 값으로 유지됩니다.



자동 구현 속성

using System;

class Data
{
    public int IntNumber { get; set; }
    public string Name { get; set; }
}

속성에 특별한 논리나 조건이 필요하지 않을 경우, 자동 구현 속성을 이용하여 속성 선언을 간단하게 진행할 수 있습니다.

내부에서 자동으로 필드를 구현합니다. 앞의 코드와 동일하게 속성 사용시 IntNumberName 속성을 사용하여 값을 할당하거나 호출 할 수 있습니다.

댓글 남기기