¡Hola, Wilder, espero que estés bien!
El encapsulamiento es un concepto clave en la programación orientada a objetos, y es genial que estés explorando sus ventajas. Básicamente, se trata de proteger los datos de una clase para que no puedan ser accedidos o modificados directamente desde fuera de la clase. En el ejemplo que estás viendo, se utilizan métodos públicos para acceder y modificar los datos privados, lo cual es una práctica común para mantener la integridad de los datos.
Por ejemplo, en la clase Persona, las variables nombre y edad son privadas, lo que significa que solo se pueden modificar a través de los métodos setNombre() y setEdad(). Esto te permite agregar validaciones, como en el caso de setEdad(), donde solo se aceptan edades positivas. Así, aseguras que los datos siempre estén en un estado válido.
Imagina que estás desarrollando una aplicación más grande y tienes varias clases que interactúan entre sí. El encapsulamiento te ayuda a reducir la complejidad al exponer solo lo necesario, permitiendo que los cambios internos en una clase no afecten a otras partes del sistema. Además, al definir la funcionalidad en un solo lugar, facilitas el mantenimiento y la reutilización del código.
Espero que este ejemplo te ayude a entender mejor cómo el encapsulamiento puede beneficiar tus proyectos en Java. ¡Espero haber ayudado y buenos estudios!