퓨어함수

김민수·2025년 1월 23일

언리얼 C++

목록 보기
23/32

1. 퓨어 함수란?

  • 퓨어 함수는 입력값(Input)이 동일하면 결과값(Output)이 항상 동일한 함수다.
  • 호출 시 실행 핀(Execution Pin)을 요구하지 않는다.
  • 상태(State)를 변경하지 않으며, 읽기 전용 함수로도 볼 수 있다.

2. 사용 시기

퓨어 함수는 값을 계산하거나 읽어오는 작업에 적합하다.

  • 특정 좌표에 따라 값을 계산하는 경우
  • 캐릭터의 체력 퍼센트를 계산
  • 배열이나 데이터 테이블에서 특정 값을 검색
  • 단순한 수학 연산 (예: 두 벡터의 덧셈/뺄셈 등)

주의: 퓨어 함수는 상태를 변경하지 않기 때문에 Actor의 위치를 변경하거나 전역 변수 값을 업데이트하는 작업에는 적합하지 않다.


3. 퓨어 함수와 일반 함수의 차이점

특징퓨어 함수일반 함수
실행 핀(Execution Pin)없음있음
상태 변경없음가능
입력값/출력값 관계입력값이 같으면 항상 같은 출력값 반환입력값이 같아도 출력값이 다를 수 있음

4. 예시

  1. 입력값에 따라 결과가 결정적:
float CalculateDistance(FVector PointA, FVector PointB)
{
	return FVector::Dist(PointA, PointB); // 두 점 사이 거리 계산
}
  • 입력값 PointA, PointB가 동일하면 결과값도 항상 동일하다.
  1. 상태 변경을 하지 않음:
bool IsPointWithinRadius(FVector Center, FVector Point, float Radius)
{
	return FVector::Dist(Center, Point) <= Radius;
}
  • 이 함수는 단순히 조건을 판단할 뿐, 게임 상태를 변경하지 않는다.
profile
안녕하세요

0개의 댓글