Encapsulación


¿Qué es la encapsulación?

La encapsulación es un principio de diseño de software que consiste en reunir datos y lógica dentro de una misma estructura, limitando el acceso directo desde fuera. Su objetivo es proteger el estado interno y exponer solo lo necesario.

Es una idea muy asociada a la programación orientada a objetos, aunque también aparece en módulos, componentes y APIs bien diseñadas.

¿Para qué sirve la encapsulación?

La encapsulación permite:

  • Reducir dependencias innecesarias entre partes del código.
  • Proteger datos internos frente a modificaciones incorrectas.
  • Hacer el código más mantenible y predecible.
  • Exponer interfaces claras en lugar de detalles internos.

Ejemplo básico

class Cuenta {
  #saldo = 0;

  ingresar(cantidad) {
    this.#saldo += cantidad;
  }

  verSaldo() {
    return this.#saldo;
  }
}

En este ejemplo, #saldo no puede modificarse directamente desde fuera de la clase, lo que ayuda a controlar mejor el estado del objeto.

Características de la encapsulación

  • Oculta detalles internos de implementación.
  • Expone solo métodos o propiedades necesarios.
  • Ayuda a prevenir errores por uso incorrecto.
  • Facilita cambios internos sin romper el código externo.

¿Dónde se usa?

  • En clases y objetos de programación orientada a objetos.
  • En módulos JavaScript que exportan solo ciertas funciones.
  • En componentes de frontend que encapsulan estado y comportamiento.
  • En librerías y APIs con interfaces públicas definidas.

Conclusión

La encapsulación ayuda a construir software más robusto, claro y mantenible. En vez de dejar todo expuesto, organiza la lógica y protege el estado interno para que el sistema sea más fácil de entender y evolucionar.