카테고리 C++

C++의 문법 자체를 설명하기 보다는 왜 이런 구조가 필요한지, 내부에서 어떤 일이 일어나는지, 그리고 실제 게임 개발과 엔진 개발에서 어떻게 활용되는지를 중심으로 정리하는 카테고리입니다.

C++ RTTI 직접 구현하기 (1): TypeId 기반으로 dynamic_cast 없이 타입 체크하기 (2편)

예제 코드 깃허브 링크 🚀 들어가며 이전 글에서 C++의 dynamic_cast와 RTTI 개념을 살펴봤습니다. 그리고 중요한 사실을 확인했습니다. ❗ dynamic_cast는 안전하지만, 런타임 비용이 발생한다 또한 다운캐스팅이 왜 위험한지도 메모리 관점에서 확인했습니다. 그렇다면 자연스럽게 이런 질문이 나옵니다. ❓ dynamic_cast 없이 안전하게 타입을…

C++ 다운캐스팅이 위험한 이유: 메모리 구조와 포인터 관점에서 이해하기 (1.5편)

[1.5편] C++ 다운캐스팅이 위험한 이유: 메모리 구조와 포인터 관점에서 이해하기 🚀 들어가며 이전 글에서 dynamic_cast와 RTTI에 대해 살펴봤습니다. 그런데 여기서 한 가지 중요한 질문이 남습니다. ❓ 왜 C++에서 다운캐스팅은 위험하다고 할까? 단순히 “안전하지 않다”는 설명만으로는 부족합니다. 이번 글에서는 메모리 구조와…

C++ RTTI 완벽 이해: dynamic_cast의 원리와 한계 – 커스텀 RTTI까지 (1편)

🚀 들어가며 C++을 공부하다 보면 한 번쯤 이런 상황을 만나게 됩니다. Base* obj = GetObject(); Derived* derived = dynamic_cast<Derived*>(obj); if (derived) { // Derived 타입일 때만 처리 } 이 코드는 너무 익숙하지만,면접에서 이런 질문을 받으면 답변하기가 막막합니다. ❓ dynamic_cast는 내부적으로…

게임 엔진 구조를 이해하려면 꼭 해야 하는 1가지

들어가며 게임 엔진 구조 이해는 많은 개발자들이 어려워하는 부분입니다. 게임 개발을 공부하다 보면 “엔진 구조를 이해해야 한다”는 이야기를 자주 듣게 됩니다. 하지만 막상 어떻게 해야 하는 지에 대해 정보를 찾아도 잘 나오지 않습니다. 문서를 보고, 강의를 듣고, 검색을 해봐도 결국…

유니티/언리얼을 써도 게임 엔진 구조가 이해 안 되는 이유

유니티나 언리얼을 써도 게임 엔진 구조가 이해 안 되는 이유 유니티나 언리얼을 사용해서 게임을 만들다 보면 어느 순간 이런 생각이 들 때가 있습니다. 기능은 만들 수 있는데 왜 이렇게 동작하는지는 잘 모르겠다 특히 이런 부분에서 많이 막힙니다. BeginPlay와 Tick은 언제…

C++ 게임 엔진으로 배우는 구조 이해 – AI 시대 게임 개발자 성장 방법

  AI 시대에는 단순히 코드를 사용하는 능력보다, 코드와 시스템의 동작 원리를 이해하고 활용하는 능력이 더 중요해지고 있습니다. 유니티나 언리얼 같은 상용 게임 엔진을 사용하는 게임 개발자 역시, 엔진의 동작 원리를 이해해야 AI를 더 잘 활용할 수 있습니다. 또한, 현재 많은…