오늘
C++와 Unreal Engine으로 3D 게임 개발 강의를 2-1 ~ 2-3 까지 정리
C++와 Unreal Engine으로 3D 게임 개발 2-1
2-1. Character 클래스를 활용한 캐릭터 구현하기1. GameMode 이해하기 GameMode게임의 전반적인 규칙과 흐름을 총괄 관리 역할을 하는 클래스GameMode의 주요 기능과 책임플레이어 Pawn/Character 스폰게임이
jh009.tistory.com
C++와 Unreal Engine으로 3D 게임 개발 2-2
2-2. Enhanced Input System을 활용한 입력 매핑 구현하기1. PlayerController 이해하기 PlayerController 사용자가 키보드, 마우스, 게임패드 등에서 입력을 받으면, 그 입력을 해석하여 캐릭터나 다른 오브젝트
jh009.tistory.com
C++와 Unreal Engine으로 3D 게임 개발 2-3
2-3. 캐릭터 동작 구현과 입력 처리하기1. Character 클래스에 액션 바인딩 추가하기 캐릭터 클래스에서 입력 액션 연결의 개념 PlayerController → SpartaInputMappingContext(IMC)를 활성화해당 IMC 에는 IA_Move, I
jh009.tistory.com
TIL 를 참고하여 과제 3번 복습
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번 과제를 진행할 예정이다.
'본 캠프 TIL' 카테고리의 다른 글
| 26.06.12 TIL / 강의 챕터 2 정리 및 복습, Rider 설정, 과제 4번 진행 (0) | 2026.06.12 |
|---|---|
| 26.06.11 TIL / TA 강의 내용 정리 (0) | 2026.06.11 |
| 26.06.09 TIL / AI 튜터 리뷰 노트, 기초반 1강 강의 정리 (0) | 2026.06.09 |
| 26.06.08 / 강의 챕터 1 정리, 3번 과제 완료 (0) | 2026.06.08 |
| 2026.06.05 TIL / C++Unreal Engine 강의 정리 (0) | 2026.06.05 |