멤버 변수와 멤버 함수

Jaemyeong Lee·2024년 12월 11일
0

입문자를 위한 UE5

목록 보기
30/60

멤버 변수

  1. 멤버 변수 정의:

    • 멤버 변수는 클래스 내부에서 고유하게 선언된 변수로, 클래스에 속한 객체마다 별도로 할당됩니다.
    • 예: Name, Hp, MaxHp, bStimPack 등은 클래스에 속한 변수로 각각의 객체가 독립적으로 값을 가질 수 있습니다.
  2. 멤버 변수 생성:

    • 클래스 페이지 좌측 하단에서 "변수 추가"를 통해 선언할 수 있습니다.
    • 변수의 이름, 데이터 타입(예: String, Integer, Boolean), 접근 가능 여부(눈 표시)를 설정할 수 있습니다.
  3. 외부 접근 허용:

    • 멤버 변수 우측의 눈 모양 아이콘을 활성화하면 외부에서 해당 변수에 접근이 가능해집니다. 이를 통해 객체의 데이터를 동적으로 수정하거나 읽을 수 있습니다.
  4. 메모리 고려사항:

    • 멤버 변수는 객체마다 별도로 생성되므로, 클래스에 멤버 변수가 많으면 메모리 사용량이 증가합니다.
    • 특히 많은 객체를 생성해야 하는 경우, 멤버 변수를 적절히 관리해야 메모리 낭비를 줄일 수 있습니다.
  5. 예시 분석:

    • Name: 문자열 타입, 객체의 이름을 저장.
    • Hp: 정수 타입, 객체의 현재 체력을 저장.
    • MaxHp: 정수 타입, 객체가 가질 수 있는 최대 체력을 저장.
    • bStimPack: 부울 타입, 객체가 특정 상태(StimPack 사용 여부)를 나타냄.

멤버 함수

  1. 멤버 함수 정의:

    • 멤버 함수는 클래스 내부에 선언된 함수로, 해당 클래스의 객체만 호출할 수 있는 메서드입니다.
    • 객체의 상태를 변경하거나 특정 동작을 수행하도록 설계됩니다.
  2. 멤버 함수 생성:

    • Functions 탭에서 새로운 함수를 추가할 수 있습니다.
    • 예: Move 함수는 객체가 이동하는 동작을 구현.
  3. 멤버 함수의 동작:

    • 멤버 함수 내부에서 클래스의 멤버 변수에 접근하여 연산을 수행하거나 상태를 변경할 수 있습니다.
    • 예: Move 함수는 특정 조건에 따라 HpLocation 같은 멤버 변수를 변경할 수 있습니다.
  4. 레벨 블루프린트와의 연결:

    • 레벨 블루프린트에서 객체를 제어하려면, 해당 객체의 참조값(주소)를 가져와야 합니다.
    • SpawnActor from Class 노드를 사용하여 객체를 생성하고, 반환된 참조값을 통해 객체의 함수를 호출합니다.
  5. 스폰 이벤트 그래프:

    • SpawnActor from Class 노드의 주요 설정:
      • Class: 스폰할 클래스 선택.
      • Spawn Transform: 스폰 위치와 회전 정보 설정.
      • Collision Handling Override: 충돌 처리 방법 지정.
      • Return Value: 생성된 객체의 참조값 반환.
    • 생성된 객체에 Move 함수 호출 등의 동작을 적용할 수 있습니다.
  6. 메모리 효율:

    • 멤버 함수는 힙이 아닌 코드 영역에 한 번만 로드되고 모든 객체가 공유하므로, 메모리 사용량이 크게 증가하지 않습니다.
    • 멤버 변수는 각 객체마다 별도로 생성되므로, 메모리 관리가 중요합니다.

profile
李家네_공부방

0개의 댓글