본문 바로가기

전체 글

(82)
제네릭이란 데이터 요소 타입을 확정하지 않고 데이터 타입 자체를 타입 파라미터로 받아들이도록 클래스 내부의 멤버 변수의 타입을 일반화시킨 클래스입니다. 제네릭은 여러 데이터 형식에서 동일한 로직을 구현할 때, 컬렉션 타입에서 다양한 데이터 형식을 저장하고 관리할 때, 데이터 형식에 따라 다른 연산을 수행해야 할 때 objec타입을 사용했을 때의 문제점을 해소할 수 있습니다. 즉 불필요한 클래스 구현을 방지하고, 타입 검사가 엄격하므로 애플리케이션 배포 전 미리 문제를 해결할 수 있고, 명시적 변환보다 속도가 빠르므로 코드의 재사용성과 유연성이 향상됩니다.
23.11.15 Unity : 오브젝트 풀링 오브젝트 풀링은 오브젝트의 Pool, 즉 웅덩이를 만들어 놓고 그 안에서 필요할 때마다 오브젝트를 꺼내서 사용하는 것을 뜻합니다. 오브젝트를 생성하고 파괴하면 메모리의 할당과 해제가 되고, 이는 CPU가 할 일이 늘어나게 된다는 것입니다. 따라서 사용한 오브젝트를 파괴하지 않고 비활성화 해서 Pool안에 넣어놓고 필요하면 다시 사용하는 것이 오브젝트 풀링을 입니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PoolManager : MonoBehaviour { public static PoolManager Instance; List[] pools; Dict..
23.11.14 ScriptableObject : 플레이어 위치 찾기 몬스터가 플레이어를 추적하는 기능을 만들 때 플레이어의 위치를 찾기위해서 Find 메소드를 사용하거나 GameManager같은 매니저가 플레이어를 미리 참조하고 있고 그걸 받아올 수 있지만, ScriptableObject를 사용하여 위치를 찾을수 있다. PlayerPosition.cs 플레이어의 위치를 필드로 가지는 ScriptableObject이다. using UnityEngine; [CreateAssetMenu(fmenuName = "PlayerPosition")] public class PlayerPosition : ScriptableObject { public Vector3 position { get; set; } } Player.cs 플레이어..