가시성 변경자는 접근 제한자라고도 불리며, 말 그대로 가시성을 지정하여 접근 범위를 제한하는 기능을 한다. 코틀린에서 선언할 수 있는 거의 모든 것들은 모두 가시성 변경자를 가지고 있다.
코틀린에서 지원하는 가시성 변경자는 private
, protected
, internal
, public
4가지이며, 이 중 default는 public
으로 생략이 가능하다. (즉, 생략하면 public
)
각 가시성 변경자들은 선언되는 위치에 따라 제한 범위가 다르다.
최상위 선언에서 각 가시성 변경자를 알아보자
클래스(인터페이스) 멤버의 가시성 변경자를 알아보자
생성자의 기본 가시성 변경자는 public
(생략 가능), 가시성 변경자를 선언할려면 생성자의 constructor
키워드를 생략할 수 없다.
class C private constructor(a: Int) { ... }
open class D constructor(private val a: Int, protected val b: Int) { ... }