제너릭

김치헌·2024년 2월 5일

TIL

목록 보기
27/38

제네릭 (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)
    {
        // 사운드 재생 로직
    }
}

제너릭 오브젝트풀에 대해 고민해 보자

profile
초보개발자

0개의 댓글