[C#] 속성(feat. get, set), 인덱서
2023. 10. 25. 17:30ㆍC#
728x90
반응형
필드의 값을 취득 또는 설정한다.
필드에 중괄호가 붙고 get/set을 쓴다.
set 엑세서를 명시하지 않으면 읽기 전용, get 엑세서를 명시하지 않으면 쓰기 전용이 된다.
예시
using System;
class Aroma
{
public double drop;
public double volume
{
get
{
return drop;
}
set
{
drop = value;
}
}
}
class AromaSample
{
public static void Main()
{
Aroma aroma = new Aroma();
aroma.volume = 0.05;
Console.WriteLine("한 방울은 " + aroma.volume + "ml 입니다.");
}
}
인덱서란 객체 안의 배열에 엑세스 하여 클래스를 배열처럼 취급할 수 있도록 하는 구조. 속성과 같이 get,set으로 구성된다.
public int this[int i]
{
get
{
return a[i];
}
set
{
a[i] = value;
}
}
예시
using System;
class Sam
{
private int[] suji = new int[4];
public int this[int i]
{
get
{
return suji[i];
}
set
{
suji[i] = value;
}
}
}
class Sam2
{
static void Main()
{
Sam sam = new Sam();
sam[0] = 1;
sam[1] = 2;
sam[2] = 3;
sam[3] = 4;
for (int i = 0; i <= 3; i++)
{
Console.WriteLine(sam[i]);
}
}
}
728x90
반응형
'C#' 카테고리의 다른 글
[C#] 인터페이스 (0) | 2023.10.27 |
---|---|
[C#] static에 대한 정리 (0) | 2023.10.26 |
[C#] 생성자 (1) | 2023.10.25 |
[C#] 필드와 지역 변수의 구별 (0) | 2023.10.25 |
[C#] 클래스의 소유와 참조 / 역참조와 상호 참조 / 자기 참조 (0) | 2023.08.10 |