분류 전체보기 40

[Unreal Engine 8기] C++ Casting, inline 키워드, static 키워드, 예외처리

암시적 캐스팅과 명시적 캐스팅더보기 형변환(Casting)해당 자료형을 다른 자료형으로 변환하는 것. 암시적 형변환컴파일러가 자료형을 변환해 주는 것을 의미합니다. 단, 형변환이 허용되는 경우이면서 프로그래머가 명시적으로 형변환을 안 할 경우에만 암시적 캐스팅이 일어납니다.int Num1 = 3; long Num2 = Num1; // 암시적 캐스팅 // int 자료형에서 long 자료형으로 형변환이 허용됩니다. // 프로그래머가 명시적으로 형변환하지 않았습니다. // 따라서 암시적 형변환이 일어납니다. C++의 명시적 형변환 프로그래머가 형변환을 위한 코드를 직접 작성한 것을 의미합니다. C++에는 4가지 명시적 형변환들이 존재합니다.이렇게 용도에 따라 나눈 이유는 프로그래머가 상황에 맞지 않는 C+..

복습용/C++ 2026.03.24

[Unreal Engine 8기] C++ 상속과 다형성, 추상 클래스

상속과 다형성 몰아보기더보기상속(Inheritance)공통 기능을 부모에 모아두고, 자식이 그걸 기반으로 확장하는 방식입니다.자식 클래스는 부모 클래스의 멤버 변수와 멤버 함수를 그대로 사용할 수 있으면서,본인 클래스만의 멤버 변수와 멤버 함수도 추가할 수 있습니다.상속은 왜 필요할까요?코드 재사용성똑같은 멤버 변수와 똑같은 멤버 함수들을 가진 두 클래스가 있다면해당 멤버 변수와 멤버 함수를 부모 클래스로 묶어버릴 수 있습니다.확장성공통 부분은 부모 클래스에 두고, 자식 클래스만의 멤버 함수와 멤버 변수들을 가지면서자식 클래스의 기능을 좀 더 확장 할 수 있습니다.유지보수에 유리함공통 부분을 부모 클래스에 묶어두면, 부모 클래스 한 곳만 수정하면많은 자식 클래스의 부분에도 자동으로 적용됩니다.잘못 바꾸면..

복습용/C++ 2026.03.23

[Unreal Engine 8기] C++ 복사 생성자와 오버로딩

오버로딩 더보기 오버로딩(Overloading)같은 이름이지만 매개변수 목록은 다르게 함수를 재정의하는 것을 “오버로딩”이라 합니다. 함수를 비슷하게 다시 작성하는 경우에는 총 세 가지 경우가 있습니다.함수 중복 정의(컴파일 에러)같은 반환 자료형, 같은 이름, 같은 매개변수 목록으로 함수를 다시 정의하는 경우함수 오버라이딩같은 반환 자료형, 같은 이름, 같은 매개변수 목록으로부모 클래스의 멤버 함수를 다시 정의하는 경우.함수 오버로딩같은 이름, 다른 매개변수 목록으로 함수를 다시 정의하는 경우.반환 자료형은 오버로딩의 판단 기준이 아님. 함수 오버로딩 매칭오버로딩된 함수 중에 어떤 함수를 호출해야 하는지 판단하는 과정. 함수 매칭 결과는 3가지가 있습니다. 첫 번째, 가장 적합한 함수를 하나 찾은 경우..

복습용/C++ 2026.03.20

[Unreal Engine 8기] C++ 생성자와 소멸자

클래스와 객체더보기 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 클래스(설계도)를 통해 만들어진 객체(실체, Object, Instance, 개체)간의 상호작용을 구현하기 위한 프로그래밍.ex) DNA(클래스)를 통해 사람 A(객체)와 사람 B(객체)가 태어났다(생성되었다). 사람 A가 사람 B에게 인사한다. 인사를 받은 사람 B가 사람 A에게 인사한다, … 이러한 상호작용을 구현하기 위한 프로그래밍. 클래스(Class)// Main.cpp class 클래스명 { public: 멤버변수자료형 멤버변수명; 반환자료형 멤버함수명(매개변수자료형 매개변수명) {} }; int main(void) { 클래스명 객체이름; return 0; } C++에서 객체를 생성하는 두 가지..

복습용/C++ 2026.03.19

[Unreal Engine 8기] C++ Console IO

Console Output더보기 console-out stream과 stream insertion operator 콘솔창에 글자를 출력하기 위한 방법. C언어에서는 printf() 함수를 통해 화면에 출력했다면, C++은 cout과 Manipulatorcout 키워드를 통한 피연산자의 출력 형식(8진수, 16진수, 문자, …)을 결정하는 키워드.// In C Language... int Number = 10; printf("%x\n", Number); // number를 16진수 출력형식으로 출력. // In C++ Language... int Number = 10; std::cout // base는 진법. showbase는 진법 표시을 생략하지 말고 표기하라. namespace와 using 더보기 ..

복습용/C++ 2026.03.18

[Unreal Engine 8기] C++ 레퍼런스

레퍼런스더보기포인터를 사용하면 주소값을 직접 다루어야 하므로 복잡해질 수 있다.이 문제를 완화하기 위해 C++에서는 변수에 또 다른 이름을 부여하는 래퍼런스 문법을 도입함.레퍼런스는 일반 변수와 거의 동일하게 사용할 수 있다.그러나 내부적으로는 해당 변수를 직접 가리켜 주는 역활을 한다.레퍼런스는 특정 변수에 대한 별명을 부여하는 것이다.한 번 특정 변수의 레퍼런스를 연결하면, 이후로는 마치 그 변수가 두개의 이름을 갖는것과 같다.선언 방법은 데이터형 뒤에 &를 붙인다.Ex) int& ref = var; 처럼 사용할 수 있다. 이렇게 하면 ref의 값 변경시 var 읙 값도 변경이 된다. 포인터와 레퍼런스의 차이점더보기포인터와 레퍼런스는 다른 변수를 제어한다는 점에서 유사하지만몇가지 중요한 차이가 있다...

C++언어 2026.03.11

[Unreal Engine 8기] C++ 포인터

포인터의 정의더보기변수들은 특정한 값을 담는것Ex) int = 정수 , double = 부동 소수점이와 같이 포인터도 변수를 듯한다, 대신 포인터는 값을 담는 대신 변수의 주소를 담는다.Ex) int* p 와 같이 선언된 p는 정수를 가리키는 포인터로서 int 변수의 메모리 주소를 저장함 값을담는일반 변수더보기일반 면수에서 대입 연산 ( = ) 을 하면 변수에 있는 값이 그대로 복사된다. 하나의 변수를 다른 변수에 대입하면 새로운 메모리 공간에 동일한 값이 복제된다.따라서 복사 이후에 두 변수는 서로 독립적인 공간을 가지므로, 한 쪽 값을 변경해도 다른 쪽에는 영향이 없다는 것을 알수 있다.복사는 비영이 있다.더보기A = B의 의미는 B에 있는 내용을 A에 전부 복사한다는 의미이고, 이 복사를 할 때에는..

C++언어 2026.03.10

[Unreal Engine 8기] C++ 언어 기초3

판단을 해주는 조건문더보기 조건문 문법단순 if 문if ( 조건식 ) { code; } 와 같은 방식으로 작성하며, 해당 조건식이 참인 경우 에 코드가 실행됨if-else 문if 문의 조건이 참이 아니면 else 문의 코드가 실행됨.if-else if-else 문이분법적 논리(yes or no)로 표현 할 수 있는 것은 if-else 문으로 가능 하지만 조건문을 좀더 세분화 해야 하는 경우가 있음 그럴 경우 if-else if-else 문으로 표현이 가능함.복합 조건(&&, ||)&&는 A&&B 와 같이 사용하며 A,B에는 조건이 온다.모든 조건이 참이어야 참인 조건문.|| 는 A || B 와 같이 사용하며 A, B에는 조건이 온다.둘 중 하나만 참이어도 참인 조건문 동일한 작업을 해주는 반복문더보기 ..

C++언어 2026.03.09

[Unreal Engine 8기]C++언어 기초2

배열 문법더보기배열이란?배열은 동일한 타입의 여러 값을 한꺼번에 담을 수 있는 자료 구조입니다. 예를 들어, 4명의 학생 점수를 저장하려면 다섯 개의 변수를 만드는 대신, 크기가 4인 배열 하나를 만들면 됩니다 배열의 특징 배열은 임의 접근이 가능하다.배열의 이름은 하나이고, 여러 개의 변수를 나열한 자료구조이기 때문에 접근할 수 있는 방법이 필요, 배열은 [] 연산자를 통해서 각 원소에 접근 가능, 이렇게 [] 연산자를 통해 한번에 특정 원소에 접근하는 것을 임의 접근 이라고 함.Ex) int arr [4] 와 같이 크기 4인 정수형 배열의 경우, arr[0] 이 맨 처음 원소 이고, arr[3] 가 제일 마지막 원소.변수와 마찬가지로 배열은 선언과 동시에 초기화 및 선언 후 추후에 초기화가 모두 가능..

C++언어 2026.03.06

[Unreal Engine 8기] C++언어 기초1

세상에서 가장 간단한 프로그램더보기#include 이미 많은 기능이 라이브러리로 구현되어 있습니다. 이걸 사용하기 위해서 구현된 헤더 파일을 코드에 포함 시켜야 합니다.은 C++ 표준 라이버러리의 입출력 기능을 제공하는 헤더 파일입니다.#include를 사용하면 해당 해더 파일의 정의된 기능(Ex) cout,cin 등)을 사용할 수 있습니다.int main()main함수는 C++ 프로그램이 실행될 때 가장 먼저 호출되는 함수입니다.(진입점)모든 프로그램은 반드시 main 함수가 있어야 합니다.cout 프로그램을 실행시켰을 때 나오는 화면을 콘솔( console)이라고 합니다.cout은 이 콘솔에 무언가 출력할 수 있게 해주는 명령어입니다.cout을 통해 콘솔에 "Hello,World!"를 출력하는 명령어..

C++언어 2026.03.05