PHpullh
학습 라이브러리/Kotlin/가시성 제한자 (Visibility Modifiers)

KOTLIN · 기초 문법

가시성 제한자 (Visibility Modifiers)

Kotlin의 네 가지 가시성 제한자: public(기본값), private, protected, internal을 이해합니다.

기초 문법중급visibilityprivateinternalprotected

핵심 설명

Kotlin의 네 가지 가시성 제한자: public(기본값), private, protected, internal을 이해합니다.

Kotlin code

// internal: 같은 모듈 내에서만 접근
internal class DatabaseConfig(
    private val host: String,
    private val port: Int
) {
    // protected: 하위 클래스에서 접근
    protected open fun connectionString() =
        "$host:$port"

    // public (기본): 어디서나 접근
    fun connect() {
        println("연결: ${connectionString()}")
    }
}

// Top-level private: 같은 파일 내에서만
private fun secretHelper() = "비밀 도우미"

// Top-level internal: 같은 모듈 내에서만
internal val sharedConfig = mapOf("env" to "prod")

fun main() {
    val db = DatabaseConfig("localhost", 5432)
    db.connect()
}

학습 팁

internal은 멀티모듈 프로젝트에서 모듈 간 API 경계를 정의하는 데 매우 유용합니다. 공개하고 싶지 않은 구현 세부사항에 사용하세요.

주의할 점

Kotlin의 protected는 Java와 달리 같은 패키지에서도 접근할 수 없고, 오직 하위 클래스에서만 접근 가능합니다.

자주 묻는 질문

가시성 제한자 (Visibility Modifiers)란 무엇인가요?

Kotlin의 네 가지 가시성 제한자: public (기본값), private , protected , internal 을 이해합니다.

가시성 제한자 (Visibility Modifiers) 학습 시 주의할 점은 무엇인가요?

Kotlin의 protected 는 Java와 달리 같은 패키지에서도 접근할 수 없고, 오직 하위 클래스에서만 접근 가능합니다.