Kotlin Multiplatform Academy · Урок

Видимость internal и public

Осознанно управляйте внешней поверхностью модуля

Урок 2 из 413 шагов

«Видимость internal и public» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Visibility Controls Access

Kotlin visibility modifiers decide who can call your code. They are how you separate the module's front door from its private rooms.

public Is the Default

If you write nothing, a declaration is public. That means everyone, including both apps, can see and call it from outside the module.

fun greet(name: String) = "Hi, " + name

internal Means Module-Only

The internal modifier limits a declaration to its own module. Outside code, like the Android or iOS app, simply cannot see it.

internal fun buildHeader(): String = "X-App: 1"

private Is Tightest

A private member is visible only inside its file or class. Use it for tiny helpers that nobody else should ever touch.

private fun clamp(x: Int) = x.coerceIn(0, 100)

Public Is Your Contract

Treat every public declaration as a promise to callers. Once apps depend on it, changing it can break their builds.

internal for Plumbing

Networking glue, mappers, and helpers are plumbing. Mark them internal so they support your API without becoming part of it.

Default to Closed

Start everything as internal or private, then open only what callers truly need. It is far safer than opening everything by habit.

What Module Means Here

For internal, a module is a set of files compiled together, like your shared Gradle module. The apps are separate modules.

Smaller Surface, Safer Changes

Hiding plumbing shrinks your public surface. With less exposed, you can refactor internals freely without scaring any callers. 🔒

Visibility on Properties Too

Modifiers apply to properties and classes, not just functions. A class can be public while its fields stay private inside.

class Cart {
    private var items = 0
    val count: Int get() = items
}

Internal in Both Apps

Because internal hides things across the module boundary, neither the Android app nor the iOS app sees them, keeping the API tidy.

Quick Check

Let's check how internal behaves.

Recap

public is your contract, internal hides plumbing in the module, and private locks down helpers. Default to closed for a clean API. 🎉

Можно начать бесплатно

Изучай Kotlin с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Видимость internal и public» бесплатный?

Да — полный текст урока «Видимость internal и public» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «Видимость internal и public»?

Осознанно управляйте внешней поверхностью модуля Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Видимость internal и public»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проектирование небольшого публичного API
  2. Видимость internal и public
  3. Организация пакетов внутри модуля
  4. Документирование API для обеих команд
← Назад к Kotlin Multiplatform Academy