Unreal 게임 개발 과정 TIL

Today's I Learning

본캠프 TIL

05.06 Unreal 본캠프) Text_RPG 제작 과정

Sunlight__ 2026. 5. 6. 20:51

 

저번에 하던 것을 이어하며

getter setter를 만들어주었다.

 

getter를 만들어주며 const 를 붙여 변수값을 변경하지 못하게 만들어주었다.

기본적인 setter 또한 만들어주며 추후에 HP와 MP 값을 변경하기 쉽게 만들어 주었다.

 

이에 따라 printPlayerStatus() 또한 변경해주었다.

.

이후에 전직 시스템을 만들어주기 위해 헤더파일과 소스파일을 분리해주기로 하였다.

 

플레이어 헤더파일과 소스파일을 만들어 사실상 메인 소스코드에서 가지고 있던 것을 옮겨온 뒤 수정 작업을 해주었다.

또한 순수 가상 함수와 가상 소멸자 또한 만들어 이후에 있을 전투 등 시스템을 구현하기 위한 준비를 했다.

 

전직을 하려면 직업이 있어야 하니 직업도 따로 만들어주었다.

 

이런식으로 전사의 헤더파일과 소스파일을 만들어 준 뒤 다른 직업들도 동일하게 추가해주었다.

메인 소스코드에서 만들어놓은 헤더파일들을 불러와준다.

 

중요하게 생각하는 포인트는 순수 가상 함수가상 소멸자였다.

 

순수 가상 함수의 사용 이유는 이 함수를 자식 클래스에서 반드시 사용하라는 의미이다.

만약 사용하지 않으면 혹여 새로운 직업을 만들거나 실수로 구현을 하지 않아도 실행이 되기 때문에 버그가 나기 쉽다. 

따라서 중요한 코드들은 순수 가상 함수를 사용해야한다.

 

가상 소멸자는 부모 포인트로 delete 했을 때 자식 소멸자까지 제대로 실행되게 해주는 장치이다.

만약 소멸자가 virtual(가상)이 아니면 Player 소멸자만 실행되고 자식 소멸자는 실행되지 않을 것이다. 

따라서 메모리 누수가 일어나면 이로 인해 게임에 버그가 생기거나 터지는 것이다.