본문 바로가기

컴퓨터 프로그래밍

C# 강좌 프로퍼티.

반응형

class MyClass
{

private int myField;
public int GetmyField(){ return myField;}
public void SetmyField(int newValue){ myField = newValue;};
}

MyClass obj = new MyClass();
obj.SetMyField(3);
Console.WriteLine(obj.GetMyField());

이것은 정석이긴 하지만 C#에는 우아한 장치가 있음. 따라서 이런 방법은 지양해야함

 

Class 클래스이름

데이터형식 필드이름;
접근한정자 데이터형식 프로퍼티이름
{
get 
{
return 필드이름;
}
set
{
필드이름 = value;
}
}
}

get 접근자를 필드로부터 값을 읽어오고 set은 필드에 값을 할당함.

위코드를 아래와 같이 변경할 수 있음

class MyClass
{
private int myField;

public int MyField
{

public int Get{ return myField;}
public void Set{ myField = value;}; // 만약 set 메소드를 구현하지 않으면 읽기전용이 된다. , 즉 Get만 사용 가능해짐}
}

MyClass obj = new MyClass();
obj.MyField =3;
Console.WriteLine(obj.MyField);

 

 

자동구현 프로퍼티.

만약 메소드가 겹친다면 많은 코드 중복이 있을 수 있다.
예를 들어 name과 PhoneNumber는 둘다 Get 과 Set이 필요하다. 

ex) public string Name{ get{return name;} set{name = value;}}
public string Phonenumber{ get{return phoneNumber;} set {phoneNumber = value;}}

 

이럴경우 다음과 같이 구현이 가능하다.

public string Name{ get; set;}
public string PhoneNumber{ get; set;}

반응형

'컴퓨터 프로그래밍' 카테고리의 다른 글

c#강좌 람다식  (0) 2019.06.12
c# 강좌 델리게이트  (0) 2019.06.11
C# 강좌 추상클래스  (0) 2019.06.07
c# 강좌 업캐스팅과 다운캐스팅  (0) 2019.06.07
c# 강좌 인터페이스  (0) 2019.06.07