Kotlin 접근 지정자(= 가시성 지정자, Visibility Modifiers)
Notepad96
·2020. 10. 1. 16:17
300x250
1. 가시성 지정자(Visibility Modifiers)
지정자 | 범위 |
private | 해당 클래스 내부에서만 접근할 수 있다. |
protected | private + 서브 클래스에서 접근할 수 있다. |
internal | 같은 모듈 내에서 접근할 수 있다. |
public | 어디서든 접근할 수 있다. Kotlin에서 기본 지정자는 public으로 생략 시 public이 된다. |
※ internal 에서 모듈이란 함께 컴파일 된 kotlin 파일 집합을 의미한다. 이는
- IntelliJ IDEA 모듈;
- Maven 프로젝트;
- Gradle 소스 세트
들이 될 수 있다.
2. 가시성 지정자 오버라이딩
open class Test {
private val a = 1
protected open val b = 2
internal val c = 3
val d = 4 // public by default
}
class Test2 : Test() {
// a 접근 불가
// b, c, d 접근 가능
public override val b = 5 // protected에서 public으로 변경
}
var test = Test2()
println(test.b)
프로퍼티나 멤버 함수를 오버라이딩하면서 가시성 지정자를 변경할 수 있다.
변경은 좁은 범위 -> 넓은 범위로 되어야하며 사실상 'protected->public' , 'internal->public' 이 가능하다.
오버라이딩 시 변경하지 않는다면 부모의 지정자를 물려받는다.
3. 참 조
300x250
'Kotlin > Syntax' 카테고리의 다른 글
Kotlin static 이용 Companion Object (0) | 2020.10.03 |
---|---|
Kotlin Singleton pattern - object (0) | 2020.10.02 |
Kotlin null, nullable 타입 (0) | 2020.09.23 |
Kotlin 예외(Exception) 처리 (0) | 2020.09.21 |
코틀린(Kotlin) 클래스 (0) | 2020.09.18 |