To be real picky, I'd separate serialization issues from persistence and files. It just turns an object into a
string or stream of bytes. Nearly anything can be done with the serialized data.
For example, the same terms are used in sending an object "over the wire" in a distributed application. The sender serializes the object to a stream and the receiver deserializes and recreates the object. Some remote protocols do all this for you, some make you do the work.