1 using System;
2
3 namespace VarLinq
4 {
5 /// <summary>
6 /// 자동 구현 속성 : Auto-Implemented Properties
7 /// </summary>
8 public partial class FrmAutoImplementedProperties : System.Web.UI.Page
9 {
10 public class Person
11 {
12 // 기본 C#의 속성 정의 방법 : private한 필드에 public한 속성
13 private int _Num;
14 public int Num
15 {
16 get { return _Num; }
17 set { this._Num = value; }
18 }
19
20 // prop 코드 조각으로 속성 생성
21 public string Name { get; set; } // 읽고쓰기 가능 속성
22 public int Age { get; private set; } // 읽기전용 속성
23 public double Salary { private get; set; } // 쓰기전용 속성
24
25 public Person()
26 {
27 Age = 21; // 읽기전용 속성은 생성자에 의해서 초기화 가능
28 }
29 }
30
31 protected void Page_Load(object sender, EventArgs e)
32 {
33 Person p = new Person();
34 p.Num = 1; p.Name = "박용준";
35 // p.Age = 21; // 에러
36 p.Salary = 1000000000;
37
38 Response.Write(String.Format("이름 : {0}, 나이 : {1}, 연봉 : {2}", p.Name, p.Age, "비밀"));
39 }
40 }
41 }