Suddenly I've seen several classes of my project implementing Serializable interface, an I know this
Serialization is a mechanism of converting the state of an object into a byte stream. Deserialization is the reverse process where the byte stream is used to recreate the actual Java object in memory. ... To make a Java object serializable we implement the java.io.Serializable interface.
But I wondering why there's a lot of classes implementing it like we need this mecanism to always be available to certain classes, then I've found this article talking about, a summary is a requirement for Java beans besides it looks to be needed for session restoring purposses..