Entenderemos los modificadores de acceso Java como un conjunto de palabras clave de Java que nos permiten controlar la visibilidad de los objetos (Clases), estado (Propiedades) y funcionalidades (Métodos) de una aplicación desde otras partes de la misma. Este control de acceso que normalmente se realiza en lenguajes orientados a objetos se llama encapsulamiento.

Encapsulamiento

El encapsulamiento concretamente se preocupa de mantener las propiedades de las clases inaccesibles desde fuera (a través de la palabra clave private), para hacerlas accesibles posteriormente a base de métodos accesibles desde fuera (public, package o sin definir ningún modificador de acceso) evitando el uso de esas propiedades directamente y promoviendo el uso de las mismas a partir de métodos. Ya veremos en detalle el concepto de encapsulamiento en otro post.

El conjunto de métodos para obtener y alterar variables suelen comenzar su nombre como getXX y setXX, donde XX indica el nombre de la propiedad. A estos métodos se les conoce como métodos accesores.

Modificadores de acceso

modificadores de acceso java
modificadores de acceso java

Los modificadores de acceso se pueden aplicar a clases, propiedades y métodos. Son los siguientes:

  • public: El método, propiedad o clase es accesible desde cualquier parte de la aplicación.
  • private: El método o propiedad es accesible sólo desde la clase en la que se encuentra. En caso de una clase, sólo las “inner classes” pueden ser privadas, ya que no tiene sentido definir una clase de primer nivel privada si nadie pudiera luego acceder a ella.
  • protected:  El método es accesible por código que esté dentro del mismo paquete y subclases (aunque estas esten en otro paquete)
  • Sin especificar: Cuando no especificamos ningún modificador de acceso se aplica el “por defecto”, este tiene la misma función que el anterior sin que entren en juego las subclases. Sólo permite el acceso a ese código desde dentro del mismo paquete. (También se conoce como package-private, que es más fácil de recordar)

Podemos usar la siguiente tabla como resumen para recordar los usos, pero una vez se asimilan los conceptos es muy fácil de recordar.

ClasePaqueteSubclases
(Mismo paquete)
Subclases
(Diferente paquete)
Otros
privateX
default (Sin especificar)XX
protectedXXXX
publicXXXXX

Con esto ya tenemos más claro el uso y funcionamiento de los modificadores de acceso de Java.

Java Básico: Modificadores de acceso
Etiquetado en:        

Un pensamiento en “Java Básico: Modificadores de acceso

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *