데이터를 다루는 방법에 대해서 공부
해석
- 데이터와 로직은 프로그래밍의 핵심 요소다.
- 데이터를 다룬다는 것은 변수와 자료형(데이터 타입)을 이해하고 사용하는 것을 의미하며, 로직은 데이터를 기반으로 동작하는 알고리즘과 프로세스를 구현하는 것이다.
Boolean 참/거짓 → 게임 옵션 창, 체크 박스
해석
- Boolean은 참(true)과 거짓(false) 두 가지 값만을 가질 수 있는 데이터 타입이다.
- 언리얼 엔진에서 Boolean은 게임 옵션 창의 체크 박스 같은 기능을 구현할 때 자주 사용된다.
- 예: "소리 켜기/끄기", "전체 화면 모드" 등의 옵션.
언리얼 엔진에서는 대문자로 시작해서 짓는 것이 거의 국룰
해석
- 언리얼 엔진에서는 변수 이름을 대문자로 시작하는 것이 일반적인 관례(Naming Convention)이다.
- 이는 코드의 가독성을 높이고, 언리얼 엔진의 기본 스타일 가이드를 따르기 위함이다.
불리언 같은 경우 티내주기 위해 앞에 b를 써준다
해석
- Boolean 변수는 이름 앞에 b를 붙이는 것이 관례다.
- 이는 Boolean 변수임을 명확히 표현하여 코드를 읽는 사람에게 변수의 용도를 쉽게 이해시키기 위함이다.
기본값을 보면은 소문자 b는 알아서 무시가 된 것을 확인
해석
- 언리얼 엔진에서는 Boolean 변수명 앞의 소문자 b는 컴파일러나 엔진이 내부적으로 무시한다.
- 즉, 변수 이름에서
b
를 붙이는 것은 스타일적인 요소일 뿐, 엔진의 작동 방식에는 영향을 주지 않는다.
나머지 변수 타입들은 그냥 대문자로 시작
해석
- Boolean 외의 다른 변수 타입들은 이름을 대문자로 시작한다.
- 예:
Health
, Position
, Damage
.
바이트, 인티저, 인티저64 → 공통점? 모두 정수를 나타낸다는 것이다
해석
- Byte, Integer, Integer64는 모두 정수를 표현하는 데이터 타입이다.
- 각각의 타입은 표현할 수 있는 숫자의 범위에 차이가 있다.
바이트는 표현할 수 있는 숫자 범위가 작음 0~255 사이 → RPG 커스터마이징이 예시
해석
- Byte는 1바이트 크기의 정수로, 0부터 255 사이의 값을 나타낼 수 있다.
- 값의 범위가 작기 때문에 RPG 게임의 커스터마이징처럼 제한된 옵션을 나타내는 경우 적합하다.
- 예: 머리 색상(0~5), 눈동자 색상(0~10) 등.
인티저 → 일반적인 정수 -21억~21억까지 표현 가능 → HP, 스탯 관련 정보
해석
- Integer(4바이트)는 일반적으로 사용되는 정수형 데이터 타입으로, -2,147,483,648 ~ 2,147,483,647의 값을 표현할 수 있다.
- RPG 게임에서 HP(체력)나 스탯(능력치)를 표현할 때 자주 사용된다.
인티저64 → 21억 이상이 필요한 경우
해석
- Integer64(8바이트)는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807의 값을 표현할 수 있다.
- 4바이트 정수의 범위를 초과하는 값이 필요한 경우 사용된다.
- 예: 대규모 경제 시스템의 금액, 누적 점수 등.
Float → 소수점 표현, 언리얼 엔진5에서는 더블과 통합해서 float만 사용함
해석
- Float는 소수점이 포함된 값을 표현할 수 있는 데이터 타입이다.
- 언리얼 엔진5에서는 Double(더블 정밀도 부동소수점)이 Float로 통합되어 단일 소수점 타입만 사용된다.
- 예: 위치 좌표(3.14, 0.99), 속도(9.8).
셋 다 문자열이지만 미묘한 차이가 있음
해석
- Name, String, Text는 모두 문자열을 나타내는 데이터 타입이지만, 사용 목적과 특성이 다르다.
Name → 언리얼 엔진 내부에서 사용을 하고 절대 바뀌지 않을 경우 → 용량 작게 차지, 다른 타입으로 치환해서 빨리 찾을 수 있음 (해쉬 기법)
해석
- Name은 변경되지 않는 문자열 데이터에 적합하다.
- 예: 특정 Actor의 고유 이름이나 시스템 식별자.
- 장점: 메모리 용량을 적게 차지하며, 해시 기법을 사용해 빠르게 검색 가능하다.
String → 문자열
해석
- String은 가변 문자열 데이터를 나타낸다.
- 예: 캐릭터 대화, 사용자 입력 데이터.
Text → 퀘스트와 관련된 설명을 텍스트라는 타입으로 만들어줌 → 다국어 변환이 필요한 경우
해석
- Text는 다국어 지원을 위한 문자열 타입이다.
- 언리얼 엔진에서 UI나 퀘스트 설명, 자막 등 로컬라이제이션(Localization)이 필요한 데이터를 처리할 때 사용된다.
- 예: 게임 퀘스트 설명 "Find the treasure"를 다국어로 번역하여 표시.
예제
