public |
어디에서나 사용 가능 |
private |
해당 .kt 내부에서만 사용 가능 |
internal |
같은 모듈 내에서 사용 가능 |
protected |
상속받은 클래스 내에서만 사용 가능 |
- 안드로이드 스튜디오의 프로젝트는 app모듈을 기본 제공해 여기서 앱을 만듭니다.
- 보통은 기본 app 모듈만 사용하지만 사실 여러 모듈을 생성할 수 있습니다.
- 예를 들어 같은 프로젝트에 스마트폰용, 시계용, TV용 안드로이드 앱을 만든다면 모듈 3개를 생성합니다.
- internal은 이 모듈 간 접근을 제한하는 키워드입니다.
- 실제로 코틀린으로 internal이나 public으로 작성한 클래스는 자바로 변환된 바이트코드를 보면 똑같이 public 접근제어자를 가지는 것을 볼 수 있었다.
- 패키지 스코프와 클래스 스코프가 있다.
출처: https://kimch3617.tistory.com/entry/코틀린-접근-제한자-Visibility-Modifiers-private-protected-internal-public [코드 저장소]
https://beomseok95.tistory.com/85