C# 강좌 : 제 31강 - 속성

C# Property, Getter & Setter

C# 강좌 : 제 31강 - 속성
[ C# ] - 윤대희

속성(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 속성을 사용하여 값을 할당하거나 호출 할 수 있습니다.



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post C# 강좌 : 제 30강 - 쓰레드 (3) ⤧  Next post C# 강좌 : 제 32강 - 인스턴스 생성자
    C# Category