본문 바로가기

프로그래밍

언리얼 엔진 5 (UE5) TArray의 Push 와 Pop 은 왜 FILO 인가요?

728x90
728x90

 

언리얼 엔진 5 (UE5)를 사용하시면서 헷갈릴 수 있는 TArray의 Push() 와 Pop() 함수가 왜 FILO 방식인지 쉽게 정리해 보겠습니다.

 

📌 TArray 란?

TArray는 UE5에서 제공하는 동적 배열 클래스입니다.

쉽게 말해, 우리가 원하는 만큼 데이터를 넣고 뺄 수 있는 가변 길이 배열이라고 볼 수 있어요.

 

📌 Push() 와 Pop() 의 역할

  • Push(Element)
  • → 배열의 에 요소를 추가합니다.
  • Pop()
  • → 배열의 마지막 요소를 제거하고 반환합니다.

여기서 핵심은, 항상 배열의 뒤쪽(끝)을 기준으로 동작한다는 점이에요!

 

📌 FILO 란?

FILOFirst-In, Last-Out, 즉 먼저 들어온 것이 나중에 나간다는 뜻입니다.

쉽게 말해, 스택(Stack) 구조와 동일합니다.

 

예제 코드로 이해해 볼게요!

TArray<int32> MyArray;

MyArray.Push(10); // 10 추가
MyArray.Push(20); // 20 추가
MyArray.Push(30); // 30 추가

int32 LastElement = MyArray.Pop(); // 30이 제거되고 반환됨
 
 

🧩 설명

  1. 10 → 20 → 30 순서로 Push 했습니다.
  2. Pop 하면 가장 마지막에 넣은 30이 빠져나옵니다!
  3. 이후 Pop 하면 20, 또 Pop 하면 10이 순서대로 빠지게 되죠.

이렇게 가장 최근에 넣은 것부터 빠지는 구조이기 때문에 FILO 라고 합니다.

 

📌 언제 사용할까?

  • 액션 게임에서 콤보 스킬 스택 관리할 때
  • 히스토리(History) 기능을 만들 때
  • 게임 내 Undo/Redo 시스템 구현 시 등

 

언리얼 엔진에서는 스택처럼 활용하고 싶을 때 굳이 별도 클래스를 만들지 않아도 TArray 하나로 충분히 구현이 가능합니다

 

 

728x90
반응형