코틀린/순수 코틀린
코틀린 - 접근제한자
Tracoding
2023. 3. 25. 23:50
접근제한자는 변수나 함수에 접근하는 것을 제한할 때 사용하는 키워드입니다.
| 접근제한 키워드 | 최상위에서 이용 | 설명 |
| public | 모든 파일에서 이용 가능 | 공개적으로 접근이 누구가 가능, 생략 가능하고 기본값 |
| internal | 같은 모듈 내에서 이용 가능 | 같은 모듈 내에서만 사용 |
| protected | 사용 불가 | 상속 받은 클래스에서만 사용 |
| private | 파일 내부에서만 이용 가능 | 같은 파일에서만 사용 |
다른 것은 어느정도 이해가 가는데... internal.. 요놈이 살짝 이상하지 않나요?
같은 '모듈'이라는 단어가 참 헷갈리게 합니다.
저도 정확한 개념이 생긴 것은 아니나.. 한 프로젝트 안에서 사용이 가능하다고 보면 될 것 같습니다.
안드로이드 스튜디오에서는 스마트폰용이 기본적으로 만들지만, 스마트워치용 혹은 티비용 등의 안드로이드 앱을 개발할 수 있는데, 이 3개의 앱을 만들면 이 앱들끼리 접근이 가능하다고 합니다.
그래들(Gradle)이나 메이븐(Maven) 같은 빌드 도구에서 프로젝트 단위라고 보면 될 것 같습니다.
접근제한자 키워드는 어떻게 사용할까요?
class TestA {
public val a1 = 1
val a2 = 2 // public 생략 가능
protected val b = 3
internal val c = 4
private val d = 5
}
우리가 변수를 선언하면 기본적으로 public 접근제한자로 생성이 되는 겁니다.
public은 생략이 된 채로 말이죠. 하지만 public 키워드를 입력해도 상관은 없습니다.
그럼 이만~~