[유니티 / C#] 인덱서 (Indexer)

⭐ 인덱서

객체를 배열처럼 접근할 수 있게 해주는 속성 형태입니다.

 

프로퍼티 형태로 배열에 접근하는 프로퍼티로 사용할 수 있습니다.

인덱서를 이용하여 구현하면 클래스명을 통해 바로 값을 넣을 수 있지만 더 낯설고 보기에 직관적이지

않다고 생각하는 경우도 있습니다.

그런 경우에는 인덱서의 로직에 대해서만 이해하시고 메서드를 이용해서 원하는 기능을 구현하셔도 됩니다.

 

기본 형태


//기본 형태
[접근지정자] [반환형태] this [int index]
{
    get { return 반환할 것 }
    set { 세팅할 것 }
}

//예시
public Item this[int index]
{
    get { return items[index]; }
    set { items[index] = value; }
}

● this[int index] 구문을 이용해 배열처럼 다룰 수 있습니다.

    ○ 클래스에 바로 인덱스를 넣어서 사용

 

 

인덱서의 특징


● 프로퍼티와 유사하게 get / set 접근자를 가짐

 

● 일반 프로퍼티와 다르게 반드시 매개변수(인덱스)가 있어야 됨

 

● 오버로딩이 가능함