728x90
728x90
언리얼 엔진 5 (UE5)를 사용하시면서 헷갈릴 수 있는 TArray의 Push() 와 Pop() 함수가 왜 FILO 방식인지 쉽게 정리해 보겠습니다.
📌 TArray 란?
TArray는 UE5에서 제공하는 동적 배열 클래스입니다.
쉽게 말해, 우리가 원하는 만큼 데이터를 넣고 뺄 수 있는 가변 길이 배열이라고 볼 수 있어요.
📌 Push() 와 Pop() 의 역할
- Push(Element)
- → 배열의 끝에 요소를 추가합니다.
- Pop()
- → 배열의 마지막 요소를 제거하고 반환합니다.
여기서 핵심은, 항상 배열의 뒤쪽(끝)을 기준으로 동작한다는 점이에요!
📌 FILO 란?
FILO는 First-In, Last-Out, 즉 먼저 들어온 것이 나중에 나간다는 뜻입니다.
쉽게 말해, 스택(Stack) 구조와 동일합니다.
예제 코드로 이해해 볼게요!
TArray<int32> MyArray;
MyArray.Push(10); // 10 추가
MyArray.Push(20); // 20 추가
MyArray.Push(30); // 30 추가
int32 LastElement = MyArray.Pop(); // 30이 제거되고 반환됨
🧩 설명
- 10 → 20 → 30 순서로 Push 했습니다.
- Pop 하면 가장 마지막에 넣은 30이 빠져나옵니다!
- 이후 Pop 하면 20, 또 Pop 하면 10이 순서대로 빠지게 되죠.
이렇게 가장 최근에 넣은 것부터 빠지는 구조이기 때문에 FILO 라고 합니다.
📌 언제 사용할까?
- 액션 게임에서 콤보 스킬 스택 관리할 때
- 히스토리(History) 기능을 만들 때
- 게임 내 Undo/Redo 시스템 구현 시 등
언리얼 엔진에서는 스택처럼 활용하고 싶을 때 굳이 별도 클래스를 만들지 않아도 TArray 하나로 충분히 구현이 가능합니다
728x90
반응형
'프로그래밍' 카테고리의 다른 글
UE5 구조체에서 operator< 를 오버라이드하여 자동 정렬하는 방법 (0) | 2025.04.10 |
---|---|
언리얼 엔진 5(UE5)에서 캐릭터 위치에서 벡터 그리기 (0) | 2025.03.10 |
언리얼 엔진 5 (UE5) FRotator → FQuat 변환 방법 (0) | 2025.03.06 |
언리얼 엔진 5: 월드 파티션 환경에서 TeleportTo 시 액터 복제 (0) | 2025.02.20 |
언리얼 엔진 5 (UE5) 에서 캐릭터와 액터 사이의 가장 가까운 점 구하기 (C++ 코드) (0) | 2025.02.18 |