순수함수와 멤버함수를 프로젝트에 사용해보겠습니다.
함수의 side effect는 함수 실행 후 식별 가능한 효과가 나타나는지를 나타냅니다.
print 함수는 실행 시 문자열이 출력되는 것을 화면으로 식별할 수 있습니다.
side effect가 없는 함수를 순수 함수라고 합니다.
예시로는 변수의 get함수, 사칙연산, 비교함수 등이 있습니다.
Ammo라는 변수가 0이상인지 검사하는 함수는 side effect가 없기 때문에 순수함수로 바꿀 수 있습니다.
퓨어함수로 바꿔보면 진행핀이 사라지고, 그래도 bool을 리턴합니다.
멤버 함수는 데이터가 저장된 클래스 안에 그 데이터를 사용하는 기능을 함수로 만들어 관리합니다.
데이터와 기능을 하나의 덩어리로 관리한다는 점에서 객체 지향을 따르는 방법이죠.
레벨블루프린트에서 생성한 발사체에 힘을 가하는 부분을 발사체 클래스 내부로 옮겨서 멤버함수로 만들어보겠습니다.
컨텐츠 드로어에서 BP_Projectile를 더블클릭하고 Launch라는 이름으로 함수를 하나 만듭니다.
Launch가 바로 멤버 함수입니다.
레벨 블루프린트에서 인스턴스 생성 후 힘을 가하는 부분을 복사해서 Launch 함수에 붙여 넣습니다.
함수가 잘 작동하는지 확인하기 위해 힘을 가한 뒤 인스턴스의 이름을 출력하는 부분을 추가하고,
레벨블루프린트로 돌아와서 기존 코드를 새로 만든 멤버함수로 교체합니다.
반응형
'Unreal' 카테고리의 다른 글
[Unreal 기초] 19. 지연 노드 (0) | 2025.01.12 |
---|---|
[Unreal 기초] 18. 레벨 로드 (0) | 2025.01.12 |
[Unreal 기초] 16. 함수 (0) | 2025.01.07 |
[Unreal 기초] 15. 충돌 메시 (0) | 2025.01.07 |
[Unreal 기초] 14. 액터 컴포넌트 (0) | 2025.01.07 |
댓글