c# property

    [C#] 속성 (Property) (2)

    [C#] 속성 (Property) (2)

    1. 핵심 정리 using System; class People { private int age = 0; public int Age { get { return age; } // protected set { age = value; } - 생략 가능 } } class Program { static void Main() { People p = new People(); // p.Age = 10; - error Console.WriteLine(p.Age); } } ① setter / getter 의 접근 권한을 변경할 수 있다. ② 읽기 전용 또는 쓰기 전용 속성을 만들 수도 있다. ③ Backing 필드가 없는 속성을 만들 수 도 있다. Backing 필드란? 위의 코드에서 Age는 결국 age필드에 접근하기 ..

    [C#] 속성 (property) (1)

    [C#] 속성 (property) (1)

    1. 핵심 정리 using System; class People { public int age = 0; } class Program { static void Main() { People p = new People(); p.age = 10; p.age = -5; // 실수 ? } } ① public 필드의 문제점 => 외부에 잘못된 사용으로 객체의 상태가 잘못될 수 있다. => 필드 접근 시 추가적인 기능(스레드 동기화, logging등)을 수행할 수 없다. using System; class People { private int age = 0; public int get_age() { return age; } public void set_age(int value) { if ( value 필드는 priva..