Permite leer y escribir objetos completos en una única operación, incluyendo estructuras más complejas como jerarquías de objetos o colecciones que contienen otros objetos.
Esta técnica se conoce como serialización, y consiste en convertir un objeto en una secuencia de bytes que puede almacenarse en disco o enviarse por red.

Para que un objeto sea serializable, su clase —y todas las clases de los objetos que contiene— deben implementar la interfaz Serializable del paquete java.io.
Esta interfaz no define métodos, pero marca la clase como apta para ser convertida a formato binario.

Si algún campo del objeto no es serializable, se puede marcar como transient para que sea ignorado durante el proceso.