자바와 코틀린의 가시성 제어

java/kotlin Java Kotlin
public 모든 곳에서 접근 가능 모든 곳에서 접근 가능
protected 같은 패키지 또는 하위 클래스에서만 접근 가능 선언된 클래스 또는 하위 클래스에서만 접근 가능
default default : 같은 패키지에서만 접근 가능 internal : 같은 모듈에서만 접근 가능
private 선언된 클래스 내에서만 접근 가능 선언된 클래스 내에서만 접근 가능

코틀린 파일 안에서의 접근 제어

public 기본 값, 어디서든 접근할 수 있다.
protected 파일(최상단)에는 사용 불가능
internal 같은 모듈에서만 접근가능
private 같은 파일 내에서만 접근 가능

.kt 파일

package ....

val a = 3

fun add(a: Int, b: Int): Int {
	return a + b
}

class Cat()

다양한 구성요소의 접근 제어

생성자

class Bus internal constructor(
	val price: Int
}

유틸성 코드