4.1 직렬화가 필요한 이유
직렬화(serialization)란 어떤 객체가 랜덤 액세스(random access) 가능한 형태로 메모리상에 존재할 때, 이를 일련의 여러 비트로 변환하여 길게 나열하는 것을 말한다. 변환된 비트열을 디스크에 저장하거나 네트워크를 통해 전송하면 추후 원래 형태로 복원할 수 있다. 우선 로보캣 게임에서 플레이어의 RoboCat 객체를 다음 코드와 같이 정의하자.
class RoboCat : public GameObject { public: RoboCat() : mHealth(10), mMeowCount(3) { } private: int32_t mHealth; int32_t mMeowCount; };