본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 68

오늘의 TIL

  1. 오브젝트 풀링과 초기화 문제 해결
    • 오브젝트 풀링 시스템에서 객체를 재사용할 때 초기화가 필요하다면 OnEnable을 활용해야 한다는 것을 배웠습니다.
    • Awake나 Start는 객체가 처음 생성될 때만 호출되므로, 풀링된 객체가 다시 활성화될 때 초기화하려면 OnEnable에서 필요한 작업을 처리해야 합니다.
  2. 캐싱된 객체와 싱글톤 활용
    • PlayerObjManager.Instance와 같은 싱글톤을 활용하면 플레이어와 같은 특정 객체를 효율적으로 참조할 수 있다는 것을 배웠습니다.
    • 오브젝트 풀링된 적(enemy)에서 플레이어 데이터를 매번 GetComponent로 가져오는 대신, 싱글톤을 활용하여 OnEnable 시점에 초기화할 수 있습니다.
  3. 코드 최적화와 가독성
    • OnTriggerEnter2D와 OnTriggerExit2D를 최소화하거나 불필요할 경우 삭제하여 코드를 간결하게 유지할 수 있다는 것을 이해했습니다.
    • 반복적으로 호출되는 GetComponent를 제거하고 초기화 단계에서 필요한 컴포넌트를 캐싱하는 것이 성능 최적화에 중요하다는 점도 확인했습니다.
  4. 적 초기화의 모듈화
    • 적 객체의 데이터 초기화는 SetupEnemy 메서드와 같이 별도의 함수로 분리하여 재사용성을 높일 수 있음을 알게 되었습니다.
    • 적이 풀링에서 재활성화될 때 SetupEnemy를 호출하면, 상태와 데이터를 일관되게 초기화할 수 있습니다.

"오브젝트 풀링과 초기화 문제를 효율적으로 해결하기 위해 OnEnable을 활용해야 한다는 점을 배우는 의미 있는 하루였습니다."

'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글

TIL(Today I Learned) - 70  (1) 2024.12.30
TIL(Today I Learned) - 69  (0) 2024.12.27
TIL(Today I Learned) - 67  (0) 2024.12.24
TIL(Today I Learned) - 66  (0) 2024.12.23
TIL(Today I Learned) - 65  (0) 2024.12.20