protected в Kotlin — видно в классе и подклассах, но не в пакете (в отличие от Java protected + package).
Разбор
- Нет package-private как в Java; близкий аналог —
internal.
- protected top-level запрещён.
- Важно при портировании Java-кода.
- Для модульной инкапсуляции — internal.
Итог
Kotlin protected уже, чем Java; для модуля используйте internal.