Las clases, objetos, interfaces, constructores, funciones, propiedades y sus setters pueden tener un visibility modifier.
En Kotlin todo es public
por defecto. Pero existen otros tipos de acceso para restringir la visibilidad, estos son:
Private
Solo visto desde el mismo archivo.
Protected
Visible para todas las subclases.
Internal
Visible en todas las partes del módulo, no en otros módulos.