제네릭 (Generics) 소개
- 제네릭의 개념과 필요성
- 제네릭은 다양한 자료형에 대해 일반화된 코드를 작성하는 기법으로, 코드의 재사용성과 타입 안정성을 높입니다.
- 제네릭의 장점
- 일반적인 알고리즘 및 데이터 구조를 작성할 때 특정 자료형에 종속되지 않아 유연성이 증가하며, 코드의 안정성이 보장됩니다.
- C#에서의 제네릭 활용
- C#에서는 제네릭 클래스와 메서드를 활용하여 다양한 자료형에 대한 일반화된 코드를 작성할 수 있습니다.
다양한 자료형을 사용할 수 있지만 모든 자료형에 대한 일반화 된 코드를 작성하기 어려움
- 사용할 자료형에 대하여 조건을 걸어준다. (where T: MonoBehaviour)
using UnityEngine;
public class Singleton<T> : MonoBehaviour where T : MonoBehaviour
{
private static T _instance; // Lazy Loading
public static T Instance
{
get
{
if (_instance == null)
{
_instance = FindObjectOfType<T>();
if (_instance == null)
{
GameObject obj = new GameObject();
// obj.name = typeof(T).Name;
_instance = obj.AddComponent<T>();
}
}
return _instance;
}
}
}
public class AudioManager : Singleton<AudioManager>
{
public void PlaySound(string soundName)
{
// 사운드 재생 로직
}
}
제너릭 오브젝트풀에 대해 고민해 보자