Sobes.tech
Junior — Middle

¿En qué se diferencian los modificadores de acceso en los lenguajes Java y Kotlin?

sobes.tech AI

Respuesta de la IA

En Java y Kotlin, los modificadores de acceso tienen objetivos similares, pero difieren en conjunto y comportamiento:

  • Java:

    • public — acceso desde cualquier lugar.
    • protected — acceso dentro del paquete y en subclases.
    • (package-private) — acceso solo dentro del paquete (si no se especifica modificador).
    • private — acceso solo dentro de la clase.
  • Kotlin:

    • public (por defecto) — acceso desde cualquier lugar.
    • internal — acceso dentro del módulo (por ejemplo, dentro de un solo módulo Gradle).
    • protected — acceso en subclases, pero solo dentro del mismo archivo (a diferencia de Java, donde protected permite acceso desde el paquete).
    • private — acceso dentro de la clase o archivo (si se declara a nivel de archivo).

La principal diferencia es que en Kotlin existe el modificador internal, que limita la visibilidad al módulo, y también protected en Kotlin no da acceso dentro del paquete, solo en subclases. En Java, no existe internal, y protected da acceso tanto en el paquete como en las subclases.