¿Los modificadores de acceso de Kotlin significan lo mismo que en Java?

Kotlin tiene 3 palabras key de acceso: public , private y protected . ¿Significan lo mismo que en Java, o hay diferencias? Además, ¿es internal lo mismo que el package private ? Sigo leyendo sobre "modules" en Kotlin, y no estoy seguro si esa es solo otra palabra para "package".

Los modificadores de acceso de Kotlin no siempre significan lo mismo que en Java. Por ejemplo, Kotlin permite miembros protected en interfaces mientras que Java no.

Los modules son entidades solo de time de compilation. Agrupan files de origen y declaran dependencies para ellos (bibliotecas binarias y otros modules). Un module es una unidad de compilation, es decir, todos sus files se comstackn juntos (de hecho, hay una compilation incremental file por file, pero su efecto debe ser el mismo que el de volver a comstackr todo el module).

Por ejemplo, cada Maven pom declara implícitamente un module, e IDE tiene modules en la Vista del proyecto y la Estructura del proyecto.