본 캠프 TIL

26.06.10 TIL / 강의 정리, 과제 3번 복습

jh009 2026. 6. 10. 20:59

오늘

C++와 Unreal Engine으로 3D 게임 개발 강의를 2-1 ~ 2-3 까지 정리

 

https://jh009.tistory.com/60

 

C++와 Unreal Engine으로 3D 게임 개발 2-1

2-1. Character 클래스를 활용한 캐릭터 구현하기1. GameMode 이해하기 GameMode게임의 전반적인 규칙과 흐름을 총괄 관리 역할을 하는 클래스GameMode의 주요 기능과 책임플레이어 Pawn/Character 스폰게임이

jh009.tistory.com

https://jh009.tistory.com/61

 

C++와 Unreal Engine으로 3D 게임 개발 2-2

2-2. Enhanced Input System을 활용한 입력 매핑 구현하기1. PlayerController 이해하기 PlayerController 사용자가 키보드, 마우스, 게임패드 등에서 입력을 받으면, 그 입력을 해석하여 캐릭터나 다른 오브젝트

jh009.tistory.com

 

https://jh009.tistory.com/62

 

C++와 Unreal Engine으로 3D 게임 개발 2-3

2-3. 캐릭터 동작 구현과 입력 처리하기1. Character 클래스에 액션 바인딩 추가하기 캐릭터 클래스에서 입력 액션 연결의 개념 PlayerController → SpartaInputMappingContext(IMC)를 활성화해당 IMC 에는 IA_Move, I

jh009.tistory.com


TIL 를 참고하여 과제 3번 복습

 

https://jh009.tistory.com/59

 

26.06.09 TIL / AI 튜터 리뷰 노트, 기초반 1강 강의 정리

오늘AI 튜터 리뷰 노트Blueprint 학습주차 전체 문제 복습C++ 문법 학습주차 ~클래스와 객체의 이해까지 문제 복습1강 기초반 OT & 프로젝트 세팅 강의 정리 https://jh009.tistory.com/58 1강 기초반 OT & 프로

jh009.tistory.com


키워드 정리 (프로세스에서 할당하는 메모리 4가지, static 키워드)

프로세스에서 할당하는 메모리 4가지 영역

 

1. 코드(Code)

  • 작성된 소스 코드가 기계어 형태로 저장되는 공간
  • 프로그램 명령어가 들어있음
  • 프로그램 실행 중에 변경되지 않기 위해 읽기 전용 (Read-Only)

2. 데이터(Data)

  • 전역 변수와 정적 변수가 저장
  • 프로그램 시작과 동시에 할당, 프로그램이 종료될 때 소멸

3. 힙(Heap)

  • 프로그래머가 필요할 때 동적으로 할당하는 메모리 공간
  • 사용자가 직접 관리해야 함 (메모리 해제)
  • 런타임(프로그램 실행 중)에 크기가 결정
  • 메모리가 낮은 주소에서 높은 주소 방향으로 할당
  • 관리를 소홀히 하면 메모리 누수가 발생

4. 스택(Stack)

  • 함수 호출 시 생성되는 지역변수와 매개변수, 리턴 값 등이 저장
  • 함수가 종료되면 자동으로 소멸
  • 메모리가 높은 주소에서 낮은 주소 방향으로 할당
  • 후입선출 구조를 가짐

후입선출: 가장 마지막에 들어온 데이터가 가장 먼저 나가는 방식

 

힙과 스택의 메모리 주소 할당 / 서로 다른 방향으로 가는 이유?

두 영역이 서로 침범하지 않고 최대한 메모리 공간을 효율적으로 활용하기 위함


static 키워드

 

1. static 지역 변수

특징: 함수 내부에서 선언, 함수가 종료되어도 메모리에서 사라지지 않음

생명 주기: 프로그램이 시작 시점에 생성, 종료 시점에 소멸

동작: 함수가 여러 번 호출 → 초기화는 단 한번만 수행, 이후 호출 시에는 이전의 값을 그대로 유지

용도: 함수 호출 횟수를 세거나, 이전의 상태값 유지를 할 때 사용

 

2. static 멤버 변수

특징: 클래스 전체에서 공유하는 변수 (객체마다 개별적으로 생성되는 변수X)

생명 주기: 객체 생성 여부와 상관없이 프로그램 시작 시점에 생성, 종료 시점에 소멸

동작: 어떤 객체에서 값을 변경하면, 다른 모든 객체에서도 변경된 값을 공유 (객체에 종속되지 않음)

용도: 모든 객체가 같은 값을 공유해야 할 때 사용 (예시: 객체 생성 횟수 카운트, 상수 값 등) 

 

 

 

3. static 멤버 함수

특징: 객체를 생성하지 않아도 클래스 이름으로 호출 가능

동작: this 포인터를 사용 불가능 → 객체가 없어도 호출 가능하기 때문임

제약: static 함수 안에서는 static 변수나 static 함수만 호출 가능 → 일반 멤버 변수는 객체가 있어야만 존재하므로 접근 불가능

용도: 유틸리티 함수, 수학 계산 함수처럼 특정 객체의 상태와 관계없는 기능을 구현할 때 사용

 

 

 

4. 저장 메모리 영역

static 키워드가 붙은 모든 변수와 함수는 데이터 영역에 저장됨

수명 주기: 프로그램이 시작될 때 메모리에 올라가며, 프로그램이 종료될 때까지 메모리에서 해제되지 않고 살아있음

 

static 변수: 값(데이터)을 저장해야 하므로 데이터 영역에 저장 (static 변수와 전역 변수)

static 함수: 코드 영역에 저장 (프로그램의 실제 명령어)

static 함수를 호출할 때 객체 생성 없이 메소드 영역에 있는 클래스 정보를 통해 접근

 

static 은 실행 중 데이터 영역에서 사라지지 않고 고정된 상태로 존재


회고

C++와 Unreal Engine으로 3D 게임 개발 강의 2-1 ~ 2-3까지 듣고 정리를 하였다.

예전에 배운 캐릭터 클래스, Enhanced Input System, 캐릭터 동작 구현 및 입력이었는데 C++ 코드로 쓰려니까 굉장히 헷갈리고 어려웠다. 

내일 2-4까지 정리하고 복습하면서 천천히 4번 과제를 진행할 예정이다.