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.