인덱서란 클래스나 구조체의 인스턴스를 배열처럼 사용할 수 있는 방법을 말한다. 인덱싱된 값은 다양한 형태의 매개 변수를 사용하여 반환하거나 할당할 수 있다. 이러한 인덱서는 매개 변수를 사용한다는 점을 제외하면 Property와 유사한데 컴파일러가 항상 인덱서에 올바른 스토리지를 생성할 수 있는 것은 아니라 Property와 다르게 자동 구현 속성을 사용할 수 없다. 인덱서는 정수 값으로 인덱싱할 필요가 없고, 별도의 인덱싱된 값을 찾는 메커니즘을 정의하여 사용해도 무방하다. 인덱서는 오버로드될 수 있도 있고 2차원 배열에 액세스하는 경우 둘 이상의 매개 변수를 사용할 수 있다. 인덱서를 정의할 때 사용되는 키워드에 대한 내용은 아래와 같다. this : 인덱서 임을 정의 get : 값을 반환할 때 필요..
Null 허용 값 형식('T?') Null 허용 값 형식이란 null을 가질 수 있는 값 형식의 변수를 뜻한다.(참조 형식 변수에 사용할 수는 있는데 경고가 뜬다.) null을 할당할 수 있다는 것을 암시적으로 나타내기 때문에 변수에 null을 할당할 수 있다. 변수를 선언하는 것은 아래와 같다. bool? b; Nullable b2; 두 가지 모두 컴파일하면 Nullable 형식이 된다. 변수에 값을 할당하는 방법은 아래와 같다. bool b = true; bool? b1 = true; bool? b2 = b; bool? b3 = null; Nullable nb = null; 아래의 경우는 InvalidOperationException을 던진다. int? n = null; int m = n; // 에러..
0. 메모리 최적화는 모바일 게임을 만들 때 특히 중요하다. - PC는 실제 메모리 사양보다 더 많이 사용할 수 있다. - 모바일은 게임에 사용할 수 있는 메모리가 실제 사양보다 적다. 1. Asset 중복 유니티는 중복 파일 체크를 하지 않기 때문에 동일한 Asset( font, audio, texture, mesh, 등 )을 여러 폴더에 뒀을 때 메모리를 불필요하게 차지할 수 있다. 2. Asset Bundle Asset Bundle을 사용할 때 Asset 디펜던시로 인해서 하나의 Asset이 중복되어 메모리에 올라갈 수 있다. EX) 하나의 Texture를 공유하는 여러 프리팹을 번들로 만들고 Texture는 번들로 만들지 않으면 Texture가 중복으로 들어가게 된다.( addressables 사..