더북(TheBook)

정수형 인덱서 만들기

우선 get 키워드만 사용하는 정수형 인덱서를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

정수형 인덱서 만들기: IndexerNote.cs

using System;

class Catalog
{
    //① 정수형 인덱서: this[int index] 형태로 정의됨
    public string this[int index]
    {
        get
        {
            return (index % 2 == 0) ? $"{index} : 짝수 반환" : $"{index} : 홀수 반환";
        }
    }
}

class IndexerNote
{
    static void Main()
    {
        Catalog catalog = new Catalog();
        Console.WriteLine(catalog[0]); //② 개체이름[인덱스] 형태로 호출 가능
        Console.WriteLine(catalog[1]);
        Console.WriteLine(catalog[2]);
    }
}

실행 결과

0 : 짝수 반환
1 : 홀수 반환
2 : 짝수 반환

인덱서는 속성과 달리 이름을 따로 지정하지 않고 this 키워드를 사용합니다. 그리고 매개변수로 배열 형식을 받습니다. 에서 넘어온 매개변수 값이 짝수 또는 홀수일 때마다 매개변수 값과 함께 짝수 또는 홀수 값을 반환합니다. 따로 set 키워드를 사용하여 값을 설정하지 않았기에 읽기 전용 인덱서입니다.

를 보면 알 수 있듯이 클래스에 인덱서를 만들어 놓으면 개체이름[인덱스] 형태로 값을 호출할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.