저번에 하던 것을 이어하며
getter와 setter를 만들어주었다.


getter를 만들어주며 const 를 붙여 변수값을 변경하지 못하게 만들어주었다.
기본적인 setter 또한 만들어주며 추후에 HP와 MP 값을 변경하기 쉽게 만들어 주었다.
이에 따라 printPlayerStatus() 또한 변경해주었다.

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


플레이어 헤더파일과 소스파일을 만들어 사실상 메인 소스코드에서 가지고 있던 것을 옮겨온 뒤 수정 작업을 해주었다.
또한 순수 가상 함수와 가상 소멸자 또한 만들어 이후에 있을 전투 등 시스템을 구현하기 위한 준비를 했다.
전직을 하려면 직업이 있어야 하니 직업도 따로 만들어주었다.


이런식으로 전사의 헤더파일과 소스파일을 만들어 준 뒤 다른 직업들도 동일하게 추가해주었다.
메인 소스코드에서 만들어놓은 헤더파일들을 불러와준다.



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

순수 가상 함수의 사용 이유는 이 함수를 자식 클래스에서 반드시 사용하라는 의미이다.
만약 사용하지 않으면 혹여 새로운 직업을 만들거나 실수로 구현을 하지 않아도 실행이 되기 때문에 버그가 나기 쉽다.
따라서 중요한 코드들은 순수 가상 함수를 사용해야한다.
가상 소멸자는 부모 포인트로 delete 했을 때 자식 소멸자까지 제대로 실행되게 해주는 장치이다.
만약 소멸자가 virtual(가상)이 아니면 Player 소멸자만 실행되고 자식 소멸자는 실행되지 않을 것이다.
따라서 메모리 누수가 일어나면 이로 인해 게임에 버그가 생기거나 터지는 것이다.
'본캠프 TIL' 카테고리의 다른 글
| 05.08 Unreal 본캠프) TextRPG 제작 과정 (인벤토리 구현) (0) | 2026.05.08 |
|---|---|
| 05.07 Unreal 본캠프) Text_RPG 제작 과정 (플레이어 전투씬 구현) (0) | 2026.05.07 |
| 05.04 Unreal 본캠프) CH2 과제 2번 시작 : Text_RPG 제작 (0) | 2026.05.04 |
| 04.30 Unreal 본캠프) C++ 포인터와 레퍼런스 (0) | 2026.04.30 |
| 04.29 Unreal 본캠프) 따라치기 세션 파일 빌드 오류 해결 및 깃 업로드 (1) | 2026.04.29 |