본문 바로가기

All contents28

GIT) 마크다운(MarkDown) 문법 정리 1. 제목(Header)'#'의 개수를 1~6개까지 사용할수있다. 이는 h1부터 h6까지를 의미한다.✏️ 입력'===' 을 이용하여 출력 (h1) ================ '---' 을 이용하여 출력 (h2) ---------------- # '#'을 이용하여 출력 (h1) ## '##'을 이용하여 출력 (h2) 🖥 출력'===' 을 이용하여 출력 (h1)'---' 을 이용하여 출력 (h2)'#'을 이용하여 출력 (h1)'##'을 이용하여 출력 (h2)  2. 목록(List) `-, +, *` 은 순서가 없는 목록을 나타내는데 사용하고   `1. 2. 3.` 은 순서가 있는 목록을 나타내는데 사용한다. ✏️ 입력 `- 순서가 필요하지 않은 목록`   `- 순서가 필요하지 않은 목록`   `* 순서.. 2025. 2. 14.
CS) STL 기본구조 2025. 2. 3.
Unreal) Actor클래스에 컴포넌트 추가하기 Actor클래스를 생성하여 컴포넌트를 추가하는 작업까지 진행할 예정이다. 우선 Bush라는 이름의 New C++클래스를 추가 했을 때 생성되는 기본 헤더파일이다.    #include "CoreMinimal.h" 는 언리얼 엔진에서 사용하는 기본 헤더 파일이다. 엔진의 핵심 기능과 필수적인 자료형, 클래스 등을 포함하고, FVector, FRotator, UE_LOG 같은 유용한 클래스와 매크로를 사용할 수 있게 해준다.    #include "GameFramework/Actor.h" 는 Actor 클래스와 관련된 정의를 포함하는 헤더 파일이다. Actor를 기반으로 객체를 생성하려면 이 헤더를 포함해야 하며,  상속 구조를 통해 사용자 정의 클래스를 생성할 때 필수입다.   #include "Bush... 2025. 1. 24.
Unreal) Actor 클래스 생성 및 삭제 새로운 리소스 프로젝트를 다운받았다면, Migrate기능을 사용해 내 프로젝트로 옮길 수 있다. 복사하는 개념이 아닌 이동시켜주는 개념이기 때문에 원래 프로젝트에서는 리소스들이 사라지게 된다.  Object 클래스 Object는 언리얼 엔진 클래스 계층 구조에서 최상위 클래스이며, 모든 언리얼 클래스의 공통 부모 클래스이다.  Object는 언리얼 월드(게임 월드)에 존재하지 읺고, 월드 좌표, 트랜스폼(위치/회전/스케일) 등의 공간 정보가 없다.   Actor 클래스 Actor 클래스는 게임 월드에서 물리적으로 위치하거나, 상호작용하는 객체를 표현한다.  Actor는 언리얼 월드에 존재하며, 월드 좌표 및 트랜스폼(위치, 회전, 스케일)을 가지고 있고, 월드에 스폰(Spawn) 되어야 사용 가능하다. .. 2025. 1. 24.
Unreal) 빌드 프로세스 빌드는 작성한 코드를 컴퓨터가 실행할 수 있는 바이너리 프로그램으로 변환하는 과정이다. 빌드 구성으로는 DebugGame, DebugGameEditor, Development, Development Editor, Shipping 이 있다.  DebugGame : 게임 빌드를 디버깅하기 위해 사용된다.  DebugGameEditor : 언리얼 에디터 환경에서 디버깅을 수행할 때 사용된다.   Development : 최적화와 디버깅 심볼의 균형을 맞춘 일반적인 개발 환경에서 사용된다.  Development Editor : 언리얼 에디터 환경에서 일반적인 개발 및 테스트에 사용된다. Shipping : 언리얼 엔진에서 최종 릴리즈(최종 사용자에게 배포)용으로 사용되는 빌드 설정이다. 빌드 구성디버깅 심볼엔.. 2025. 1. 24.
CS) RandomEngine 구현하기 프로젝트를 진행하다보면 랜덤값이 필요한 경우가 많다. 예를들어 몬스터를 처치했을 경우에 아이템이 드랍될 확률을 구할 때, 또, 어떤 아이템이 드랍될지 확률을 통해 결정할 때 등등 다양한 경우들 있다. std::random_device C++에서 난수 생성에 사용되는 클래스 중 하나로, 진정한 난수(True Random Number)를 생성할 수 있는 기능을 제공한다.#include #include int main() { // std::random_device 인스턴스 생성 std::random_device rd; // 난수 생성 for (int i = 0; i   실행할 때마다 다른 난수를 생성하지만,  출력값은 매우 큰 숫자가 될 수 있다. (std::random_device::r.. 2025. 1. 23.
Unreal) CH3 프로젝트 폴더 구조 이해하기 UnrealEngine 프로젝트에 중요한 파일 및 폴더가 어떤 역할을 하는지 알아야한다.   CH3_Week1_1.sln (Visual Studio 솔루션 파일)C++ 소스 코드와 빌드 설정이 연결된 핵심 파일입니다.더블 클릭하면 Visual Studio에서 .cpp, .h 파일을 열어 수정할 수 있습니다. CH3_Week1_1 .uproject언리얼 에디터가 프로젝트 설정 (콘텐츠, 맵, 플러그인 등)을 불러올 때 사용하는 파일입니다.더블 클릭 시 언리얼 에디터에서 바로 프로젝트를 열 수 있습니다..vsconfigVisual Studio Configuration 파일로, Visual Studio 프로젝트에서 사용되는 특정 설정과 구성 요소 설치 요구 사항을 정의합니다.프로젝트를 열 때 Visual St.. 2025. 1. 22.
CS) 싱글톤 패턴 싱글톤 패턴(Singleton Pattern)은 객체 지향 프로그래밍에서 특정 클래스의 인스턴스를 오직 하나만 생성하고, 이 인스턴스에 전역적으로 접근할 수 있도록 하는 디자인 패턴입니다.   1. 인스턴스 변수 : static Airplane* instance;클래스 내에서 인스턴스가 유일하게 존재하도록 static 포인터로 선언한다.  2. 생성자 : Airplane();싱글톤 패턴에서는 객체가 오직 하나만 존재해야 하므로, 클래스 외부에서 새로운 객체를 생성하지 못하도록 생성자를 private으로 만든다.  생성자를 public으로 두면, 사용자가 new 키워드로 계속 객체를 생성할 수 있어, 여러 인스턴스가 생기게 되어 싱글톤 패턴이 깨진다.  3. getInstance() 메서드이 메서드는 싱글.. 2025. 1. 8.
CS) 가상함수, 순수가상함수 가상함수(Virtual Function)와 순수가상함수(Pure Virtual Function)는  객체지향 프로그래밍에서 다형성(Polymorphism)을 구현하기 위해 사용되는 중요한 개념이고,  부모 클래스와 자식 클래스 간의 관계에서 함수의 동작 방식을 정의하는 데 사용된다.  가상함수(Virtual Function) 정의 :부모 클래스에서 선언되며, 자식 클래스에서 이를 재정의(override)할 수 있도록 하는 함수이다. 특징 :동적 바인딩(Dynamic Binding): 객체의 타입에 따라 실행 시간(runtime)에서 적절한 함수가 호출된다.→ 예: 부모 클래스 포인터로 자식 객체를 가리키더라도, 실제로 자식 클래스의 함수가 호출됨. 가상함수는 virtual 키워드로 선언한다. 구현부를 제.. 2025. 1. 7.
CS) SOLID 원칙 SOLID 원칙은 객체 지향 설계(OOP)의 다섯 가지 주요 원칙을 의미한다. 이 원칙들은 코드의 유연성, 확장성, 유지보수성을 높이는데 도움을 준다. SOLID 원칙을 사용하여 좋은 코드로 구현해보자. Single Responsibility Principle (단일 책임 원칙)클래스는 하나의 책임만 가져야 한다. 즉, 하나의 클래스는 오직 하나의 변경 이유만 가져야 한다. 클래스의 역할을 명확히 하고, 변경에 따른 영향을 최소화한다. class ReportGenerator {public: void generateReport() { // 리포트를 생성하는 로직 }};class ReportPrinter {public: void printReport() { // 리포.. 2025. 1. 7.