C# – 클래스 속성 & 자동속성

속성 (Property)
using System;
using System.Collections;
using System.Collections.Generic;
namespace AutoProperty
{
    class Program
    {
        public static void Main()
        {

            List<Member> myMember = new List<Member>();

 

            myMember.Add(new Member(“test1”, “KOR”, 14));
            myMember.Add(new Member(“test2”, “USA”, 17));
            myMember.Add(new Member(“test3”, “RUS”, 13));
           
            foreach(var i in myMember)
            {
                Console.WriteLine(i.Name);
            }
        }
       
    }
    class Member
    {
        string name; // 멤버 변수선언
        public Member( )  {        }
        public Member(string name, string addr, int age)
        {
            this.name = name; // this 접근가능( 멤버변수로 선언됨)
            this.Addr = addr;    // this 접근가능( 선언안됨 – 하단에 자동속성으로 구현 되어 자동 선언됨)
            this.Age = age;      // this. 접근가능(선언안됨 – 하단에 자동속성으로 구현 되어 자동 선언됨)
        }
        public string Name // 선언된 멤버변수의 setter , getter  속성 만들기
        {
             get { return this.name;  }
             private set { this.name = value; }    // private : 객체에서 접근 불가(생성자 or 팩토리 패턴만 가능)
        }

}

// [자동속성] – 구현을 get; set; 으로 축약
// string Addr; 멤벼변수 [자동생성]
// get; set; 은  get {return this.Addr;’}  set {this.Addr = value} 와 같다

public string Addr  
{                            
           get; set;

 }

// [자동속성] – 구현을 get; set; 으로 축약
// int Age; 멤벼변수 [자동생성]
// get; set; 은  get {return this.Age;’}  set {this.Age = value} 와 같다

public int Age       
{                            
          get; set;
}

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다