반응형
속성은 메서드와 같은 개념을 가지며 private값(필드값)을 얻어오거나 설정기능을 가집니다.
public
{
get { retrun 멤버변수; }
set { [멤버변수 = value; }
}
속성의 프로시저의 구조로는 get과 set 구조를 가지고 있습니다.
기본구조
private string _Color;
public string Color
{
get { return _Color; } ->get만 사용하면 읽기전용
set { _Color = value; } ->set만 사용하면 쓰기전용
}
Property.cs |
using System; public class Property { public static void Main(string[] args) { //예제1 Car sonata = new Car(); sonata.Name = "소나타"; sonata.Color = "Red"; //set개념 Console.WriteLine(sonata.Color); //가져다 씀 sonata.Run(); //소나타,Red 출력 Console.WriteLine(); //예제2 Person na = new Person(); na.Name = "홍길동"; na.Birth = "1988-02-05"; Console.WriteLine(na.Name); Console.WriteLine(na.Age); //22 } } |
Car.cs |
using System; public class Car { //Name속성 정의 private string _Name; //필드는 무조껀 private public string Name //속성 (메서드와 같은 개념) { get { return _Name; } set { _Name = value; //메인에서 값을 읽어와서 저장된다. } } //Color속성 정의 private string _Color; public string Color { get { return _Color; } set { _Color = value; } } public void Run() { Console.WriteLine("{0},{1}", _Name, Color); } } //예제2 public class Person { //닷넷 2.0까지 사용됨 private string _Name; public string Name { get { return _Name; } set { _Name = value; } } //닷넷3.5부터 사용 private string _Birth; public string Birth { set//쓰기전용 { _Birth = value; //넘겨온 값을 필드에 세팅 Age = DateTime.Now.Year - Convert.ToDateTime(value).Year + 1; } } public int Age { get; set; } } |
반응형
'C#' 카테고리의 다른 글
49.C# - Indexer (인덱서) (0) | 2009.08.12 |
---|---|
48.C# - 정수형 인덱서와 문자열 인덱서 (0) | 2009.08.12 |
46.C# - Method Overload (메서드오버로드) (0) | 2009.08.12 |
45.C# - Method (메서드 : 함수) (0) | 2009.08.12 |
44.C# - Destructor (소멸자/파괴자) (0) | 2009.08.11 |
Comments