메소드보다 프로퍼티

class MyClass
{
    private int myField;
    public int MyField
    {
        get
        {
            return myField;
        }
        set
        {
            myField = value;
        }
    }
}

자동 구현 프로퍼티

public class NameCard
{
    public string Name { get; set; }
    public string Number { get; set; }

    public string Date { get; private set; } // 이렇게 쓰면 읽기는 public, 쓰기는 private가 적용된다.
}

프로퍼티와 생성자

public class BirthdayInfo
{
    public string Name { get; set; }
    public DateTime Birthday { get; set; }
    public int Age { get; set; }
}

BirthdayInfo birth = new BirthdayInfo()
                    {
                        Name = "수영", // 콤마(,)를 이용한다.
                        Birthday = new DateTime(1982, 4, 16)
                    };

무명 형식

// 중괄호 사이에 임임의 프로퍼티 이름을 적고 값을 할당하면 그대로 새 형식의 프로퍼티가 된다.
var myInstance = new { Name = "박수영", Age = "34" };

// 이렇게 선언된 무명 형식의 인스턴스는 여느 객체처럼 프로퍼티에 접근하여 사용할 수 있다.
Console.WriteLine(myInstance.Name, myInstance.Age);

인터페이스의 프로퍼티

interface IProduct
{
    string ProductName { get; set; }
}

추상 클래스와 프로퍼티

abstract class Product
{
    abstract public DateTime ProductDate { get; set; }
}