C#/책 정리
C# 정리 ) 프로퍼티
denofevil
2021. 11. 28. 16:04
접근자/ 설정자 메서드를 둬서 필드 접근에 대한 단일 청구를 제공하는것은 바람직하다.
하지만 번거롭다.
C#에서는 이를 보안하기 위해 [프로퍼티] 라는 문법을 제공한다
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Project1
{
class getSetTest
{
private int temp;
public int getSet
{
get { return temp; }
set { temp = value; }
}
}
class Class1
{
public static void Main(String[] args)
{
getSetTest test = new getSetTest();
test.getSet = 50;
Console.WriteLine("test 안의 temp 값은 " + test.getSet + "입니다.");
}
}
}
get 은 바로 이해가 되지만 set의 value는 어디서 온 것인가?
getSet 메서드는 매개변수가 없으니 C# 컴파일러가 value가 무엇인지 찾을 수 없을 것이다.
해당 변수 (value) 는 set 블록 내부에서만 사용할 수 있는 예약어이다.
만약 읽기 전용이라면 set을 지워주기만 하면 된다.
set을 이용해 변수의 값을 지정하고 싶다면,
객체 이름.set메서드이름 = "값"
이런식으로 해주면 되는거다
프로퍼티는 메서드의 특수한 변형에 불과하다.