Modificadores de acceso (Encapsulamiento)

Los modificadores de acceso en Java, ¿Qué son?

A medida que desarrollamos el código de un sistema es frecuente que queramos evitar el acceso a algunos de los datos que definimos, por ejemplo, pensando en un pequeño videojuego en el que el jugador tiene unas vidas, nos gustaría que el código que gestiona esas vidas no sea fácilmente accesible, evitando así que alguien modifique ese valor.

Eso sería un caso de dato protegido, que es uno de los 3 tipos de modificador de acceso (scope), que existe en java (además del default).

El concepto de encapsular o proteger la información es uno de los pilares de la programación orientada a objetos (POO).

Hablemos de estos modificadores en detalle:

  • Public: Es el modificador de acceso menos restrictivo, los atributos, métodos o clases definidos con este modificador serán accesibles desde cualquier parte del proyecto.
public class MiClase {
    public int miVariable;
    
    public void miMetodo() {
        // Código del método
    }
}
  • Protected: Este modificar es bastante amplio, abarca a la propia clase, a todas las que hay dentro del paquete y a todas las subclases.
public class MiClase {
    protected int miVariable;
    
    protected void miMetodo() {
        // Código del método
    }
}
  • Private: El modificador más restrictivo, su definición suele complementarse con la existencia de getters y setters. Permite el acceso únicamente dentro de la propia clase, no pueden acceder a ella ni las subclases derivadas.
public class MiClase {
    private int miVariable;
    
    private void miMetodo() {
        // Código del método
    }
}
  • Default: Se utiliza por defecto cuando no se define un modificador, su scope permite el uso en las clases dentro del paquete pero no en las subclases.
class MiClase {
    int miVariable;
    
    void miMetodo() {
        // Código del método
    }
}

Aquí un pequeño resumen de las características de los modificadores de acceso de manera gráfica:

Un poco más de información sobre encapsulamiento (con un enfoque más práctico): aquí.

¿Te ha resultado útil?

Promedio de puntuación 5 / 5. Recuento de votos: 1