using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Record
{
public int[] temp = new int[5]; // 배열변수 선언과 크기지정
public int this[int index] // 인덱스는 프로퍼티 이름 대신 this를 사용. (this = 해당 클래스를 지칭하는 예약어(this.record == record))
{ // 배열도 일종의 프로퍼티. 그래서 프로퍼티와 똑같이 구현해주면 됨.
get
{ if (index >= temp.Length) // temp의 배열크기보다 입력한 index의 값이 더 크면, 오류가 날 수 밖에 없음.
{
Debug.Log("인덱스 값이 너무 큽니다.");
return 0;
}
else
{
return temp[index];
}
} // temp[index]의 값을 도출하고
set
{ if (index >= temp.Length)
{
Debug.Log("인덱스 값이 너무 큽니다.");
}
else
{
temp[index] = value;
}
} // temp[index]에 value 값(대입할 값)을 대입한다.
}
}
public class Test : MonoBehaviour
{
Record record = new Record();
void Start()
{
record[5] = 5; // [ ]안의 5는, public int this[int index]의 int index값으로 넘어감. = 5는, set { temp[index] = value } 의 value 값으로 넘어감
record[3] = 5;
print(record[3]);
print(record[5]);
}
}
카테고리 없음
댓글