English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
로 불립니다. 속성(Property) 는 클래스(class), 구조(structure), 인터페이스(interface)의 명명된 멤버입니다. 클래스나 구조 내의 멤버 변수나 메서드는필드(Field) 접근자(accessors) 프라이빗 필드의 값을 읽고 쓸 수 있게 합니다. 속성(Property)은 필드(Field)의 확장으로, 동일한 문법으로 접근할 수 있습니다. 그들은
속성(Property)은 저장 위치를 결정하지 않습니다. 대신, 그 값을 읽고 쓸 수 있거나 계산할 수 있는 접근자(accessors)。
예를 들어, Student라는 이름의 클래스가 age, name, code와 같은 프라이빗 필드를 가지고 있습니다. 우리는 이 필드에 접근할 수 없지만, 이 프라이빗 필드에 접근할 수 있는 속성을 가질 수 있습니다.
속성(Property)의접근자(accessor)속성에 대한 접근자(accessor)는 읽기(읽거나 계산)나 쓰기(쓰기)를 돕는 실행 가능한 문장을 포함할 수 있습니다. 접근자(accessor) 선언은 get 접근자, set 접근자, 또는 둘 다를 포함할 수 있습니다. 예를 들어:
// string형의 Code 속성을 선언합니다. public string Code { get { return code; } set { code = value; } } // string형의 Name 속성을 선언합니다. public string Name { get { return name; } set { name = value; } } // int형의 Age 속성을 선언합니다. public int Age { get { return age; } set { age = value; } }
다음 예제는 속성(Property)의 사용법을 보여줍니다:
using System; namespace w3codebox { class Student { private string code = \ private string name = \ private int age = 0; // string형의 Code 속성을 선언합니다. public string Code { get { return code; } set { code = value; } } // string형의 Name 속성을 선언합니다. public string Name { get { return name; } set { name = value; } } // int형의 Age 속성을 선언합니다. public int Age { get { return age; } set { age = value; } } public override string ToString() { return \ + Code +", Name = \ + Name + ", Age = \ + Age; } } class ExampleDemo { public static void Main() { // 새로운 Student 객체를 생성합니다. Student s = new Student(); // student의 code, name, age를 설정합니다 s.Code = "001"; s.Name = "Zara"; s.Age = 9; Console.WriteLine("Student Info: {0}", s); // 연령 증가 s.Age += 1; Console.WriteLine("Student Info: {0}", s); Console.ReadKey(); } } }
위의 코드가 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다:
학생 정보: Code = 001, Name = Zara, Age = 9 학생 정보: Code = 001, Name = Zara, Age = 10
추상 클래스는 추상 속성을 가질 수 있으며, 이러한 속성은 자식 클래스에서 구현되어야 합니다. 다음 프로그램은 이 점을 설명합니다:
using System; namespace w3codebox { public abstract class Person { public abstract string Name { get; set; } public abstract int Age { get; set; } } class Student : Person { private string code = \ private string name = \ private int age = 0; // string형의 Code 속성을 선언합니다. public string Code { get { return code; } set { code = value; } } // string형의 Name 속성을 선언합니다. public override string Name { get { return name; } set { name = value; } } // int형의 Age 속성을 선언합니다. public override int Age { get { return age; } set { age = value; } } public override string ToString() { return \ + Code +", Name = \ + Name + ", Age = \ + Age; } } class ExampleDemo { public static void Main() { // 새로운 Student 객체를 생성합니다. Student s = new Student(); // student의 code, name, age를 설정합니다 s.Code = "001"; s.Name = "Zara"; s.Age = 9; Console.WriteLine("학생 정보:- {0}", s); // 연령 증가 s.Age += 1; Console.WriteLine("학생 정보:- {0}", s); Console.ReadKey(); } } }
위의 코드가 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다:
학생 정보: Code = 001, Name = Zara, Age = 9 학생 정보: Code = 001, Name = Zara, Age = 10