퓨어 함수와 Getter

김민수·2025년 1월 23일

언리얼 C++

목록 보기
24/32

1. 퓨어 함수와 Getter의 공통점

  1. 상태를 변경하지 않음
    • 둘 다 읽기 전용(Read-Only) 작업에 주로 사용된다.
    • Getter는 변수의 값을 가져오는 데 사용되고, 퓨어 함수는 특정 계산이나 데이터를 읽어오는 작업을 수행한다.
  2. 실행 핀 없음
    • Getter와 퓨어 함수 모두 실행 핀(Execution Pin)이 없고, 단순히 결과값만 반환한다.
  3. 결과값의 일관성
    • 둘 다 동일한 입력에 대해 항상 동일한 출력값을 반환한다.

2. 퓨어 함수와 Getter의 차이점

특징퓨어 함수Getter
역할데이터를 계산하거나, 처리된 값을 반환특정 변수를 읽어오기 위한 기능
범위함수 안에서 복잡한 로직(계산, 데이터 검색 등)을 포함할 수 있음단순히 Blueprint나 클래스의 멤버 변수 값을 반환
입력값(Input)외부에서 입력값을 받을 수 있음외부 입력값을 받지 않고, 해당 클래스에 선언된 변수에만 의존
구현 방식사용자가 작성한 로직으로 동작변수의 값을 반환하도록 자동 생성됨
사용 목적복잡한 계산이나 데이터를 가공하는 작업클래스나 Actor의 상태를 노출하거나, 단순히 읽어오기 위해 사용
직접 수정 가능 여부사용자가 직접 함수 내용(로직)을 작성블루프린트에서 Getter는 기본적으로 제공되며 자동 생성되므로 수정할 수 없음

3. 예시

Getter의 예

float Health;

Blueprint에서 이 Health 값을 읽기 위해 Getter를 사용할 수 있다.

  • 입력값: 없음 (그저 해당 변수만 반환)
  • 출력값: Health라는 변수의 현재 값
    → Getter는 기본적으로 변수 하나를 노출시키는 간단한 용도다.

퓨어 함수의 예

캐릭터 체력 퍼센트를 계산하는 퓨어 함수:

float CalculateHealthPercentage(float Health, float MaxHealth)
{
    return (Health / MaxHealth) * 100;
}
  • 입력값: Health, MaxHealth 두 개의 값
  • 출력값: 퍼센트로 계산된 체력 값

퓨어 함수는 특정 계산 로직이 들어가고, 단순히 변수를 반환하는 것 이상의 역할을 한다. Getter보다 더 복잡한 계산이나 처리 작업을 수행할 수 있다는 점에서 차이가 있다.

profile
안녕하세요

0개의 댓글