| 특징 | 퓨어 함수 | Getter |
|---|---|---|
| 역할 | 데이터를 계산하거나, 처리된 값을 반환 | 특정 변수를 읽어오기 위한 기능 |
| 범위 | 함수 안에서 복잡한 로직(계산, 데이터 검색 등)을 포함할 수 있음 | 단순히 Blueprint나 클래스의 멤버 변수 값을 반환 |
| 입력값(Input) | 외부에서 입력값을 받을 수 있음 | 외부 입력값을 받지 않고, 해당 클래스에 선언된 변수에만 의존 |
| 구현 방식 | 사용자가 작성한 로직으로 동작 | 변수의 값을 반환하도록 자동 생성됨 |
| 사용 목적 | 복잡한 계산이나 데이터를 가공하는 작업 | 클래스나 Actor의 상태를 노출하거나, 단순히 읽어오기 위해 사용 |
| 직접 수정 가능 여부 | 사용자가 직접 함수 내용(로직)을 작성 | 블루프린트에서 Getter는 기본적으로 제공되며 자동 생성되므로 수정할 수 없음 |
float Health;
Blueprint에서 이 Health 값을 읽기 위해 Getter를 사용할 수 있다.
Health라는 변수의 현재 값캐릭터 체력 퍼센트를 계산하는 퓨어 함수:
float CalculateHealthPercentage(float Health, float MaxHealth)
{
return (Health / MaxHealth) * 100;
}
Health, MaxHealth 두 개의 값 퓨어 함수는 특정 계산 로직이 들어가고, 단순히 변수를 반환하는 것 이상의 역할을 한다. Getter보다 더 복잡한 계산이나 처리 작업을 수행할 수 있다는 점에서 차이가 있다.