1.프로퍼티
public 필드는 외부 객체에 의해 오염될 가능성을 열어둔다.
자바와 같은 언어에서는 Get/Set 메소드를 이용하여 내부 필드에 접근한다.
C#에서는 Get/Set메소드와 프로퍼티를 제공한다.
(프로퍼티는 Get/Set과 같은 용도)
*public 필드를 다루듯 내부 필드에 접근하게 해주는 맴버
*외부에 데이터를 출력할 떄는 get접근자
*내부에 데이터를 입력할 때는 set접근자
[프로퍼티 선언]
class MyClass{
private int myField;
public int MyField{ //이것이 프로퍼티이다. 프로퍼티를 이용하여 private 멤버에 접근한다.
get{
return myField;
}
set{
myField=value;
}
}
}
[프로퍼티 사용법]
MyClass obj= new MyClass();
obj.MyField =3;
Console.WriteLine(obj.MyField);
2.자동구현 프로퍼티
- 1. 필드 이름 생략
- 2. get 접근자의 반환문(return ;) 생략
- 3. set 접근자의 필드 수정(필드 = value;) 코드 생략
[생략하지 않은 프로퍼티]
public class Card{
private string name;
private string phoneNum;
public string Name{
get{ return name;}
set{ name = value;}
}
public string phoneNum{
get{return phoneNum;}
set{ phoneNum=value;}
}
}
[생략한 프로퍼티]
public class Card{
public string Name{
get;set;
}
public string phoneNum{
get;set;
}
}
이런 경우에는 이런식으로 프로퍼티를 사용하면 된다.
프로퍼티 자체가 맴버가 되는 것이다.
Card obj=new Card();
obj.Name=3;
Console.WriteLine(obj.Name);
3.프로퍼티를 이용한 객체 초기화
클래스 이름 인스턴스 = new 클래스이름()
{
프로퍼티1=값,
프로퍼티2=값,
프로퍼티3=값
};
ManInfo man1= new ManInfo(){
Name= "고객1",
Phone="010xxxx"
};
4.무명형식
-public 프로퍼티로만 이루어진 이름없는 클래스
-1회용 데이터 형식으로 사용
-무명형식은 var 키워드와 프로퍼티를 이용하여 선언함
-무명형식의 프로퍼티에 할당된 값은 변경 불가능하다.
-무명형식의 인스턴스가 만들어지고 난 다음에는 읽기만 할 수 있다.
var myInstance = new {Name="123", Age="20"};
Console.WriteLine(myInstance.Name, myInstance.Age);
'3_c# > C#문법' 카테고리의 다른 글
C# 일반화 프로그래밍 (0) | 2024.11.20 |
---|---|
C# 배열, 컬렉션, 인덱서 (0) | 2024.11.20 |
C# 메소드 오버로딩 / 오버라이딩 (0) | 2024.10.02 |
C# TXT파일 접근 - StreamReader, StreamWriter (0) | 2023.07.18 |
C# 클래스 (0) | 2023.07.15 |