[C#기초] 4. 속성과 인덱서
INDEX
클래스 배열의 변수와 속성 비교
속성 사용시 예제
class A { int number; public int Number { get { return number; } set { number = value; } } } class Program { static void Main(string[] args) { A[] test = new A[3]; test[0] = new A(); test[0].Number = 12; } }
속성 사용 안할 시 예제
class A { public int number; } class Program { static void Main(string[] args) { A[] test = new A[3]; test[0] = new A(); A[0].number = 12; } }
클래스 멤버 배열과 인덱서 형식
인덱서 특징
- 인덱서를 사용하면 배열과 유사한 방식으로 개체를 인덱싱할 수 있다
- get접근자는 값을 반환하고, set접근자는 값을 할당한다
- this키워드는 인덱서를 정의하는데 사용됨
- value키워드는 set인덱서에서 할당하는 값을 정의하는데 사용됨
- 인덱서는 정수 앖으로 인덱싱될 필요가 없으며 특정 조회 메커니즘을 정의하는 방법을 결정해야 함
- 인덱서는 오버로드될 수 있음
- 예를 들어 인덱서는 2차원 배열에 엑세스 할 경우 둘 이상의 정식 매개 변수를 사용할 수 있음
인덱서 예제 코드
class A { int[] number = new int[3]; public int this[int index] { get { return number[index]; } set { number[index] = value; } } } class Program { static void Main(string[] args) { A[] test = new A[2]; test[0] = new A(); test[0][0] = 1; Console.WriteLine(test[0][0]); } }
this
this
-
this는 객체 자신을 참조하는 키워드
-
this 사용 형식 :
this.memeber
-
메서드와 매개변수 명이 같을 때
class MyClass { public int number; public MyClass(int number) { this.number = number; } }