You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
코틀린에서는 public(default), internal, protected, private이라는 접근 제어 지시자를 제공합니다. internal을 제외한 모든 접근 제어 지시자는 익숙합니다.
자바에서 제공하는 package-private을 대신한 것이라고도 생각했지만,
코틀린에서의 패키지는 클래스를 나누는 네임스페이스의 역할만 하기 때문에 package-private이 존재할 수 없습니다.
internal은 모듈 단위로 접근을 제어하는 것으로 module-private이라고 부를 수도 있습니다.
그러면 이 모듈의 범위는 어디까지일까요?
실험해보기
모듈이라고 하면 자바 9에 추가된 모듈을 떠올릴 수도 있지만 가장 쉽게 떠오르는 것은 Gradle(그레이들) 프로젝트의 서브 프로젝트입니다.