Serialization allows for a quick and easy way to store data after a program
The serialized data is independent of the Java virtual machine (JVM) that generated it.
This means that as long as a different computer has access to the class files and the serialized data, the object can be reconstructed just as it originally was.
It also allows for remote procedure calls. To call a method on another machine, often an object is needed argument.
Serialization converts an object to a byte stream that can then be sent over a network and deserialized on the target machine.