Serialization is needed when there is a problem in sending data from one class to another.
Where the other class is on a different location or Hard Disk. i.e. in Distributed Systems
The reverse operation of serialisation is called deserialization
The String Class and all wrapper classes implement serializable interface by default
Serializable interface is also marker interface which provides the capability of Serialization to your class. So, we should implement a serializable interface if we want to send the state of an object over the network