Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 백준
- Behavior
- AppBarLayout
- lifecycle
- 알고리즘
- HTTP
- BOJ
- Coroutine
- CustomView
- CollapsingToolbarLayout
- LiveData
- kotlin
- ViewModel
- DataBinding
- recyclerview
- 알림
- notification
- Android
- View
- sqlite
- onLayout
- Algorithm
- 안드로이드
- 코틀린
- Navigation
- onMeasure
- room
- activity
- CoordinatorLayout
- hilt
Archives
- Today
- Total
개발일지
Kotlin in A..Z (15) - 가시성 지시자 본문
가시성 지시자
가시성 지시자 | 의미 |
private | 외부에서 접근할 수 없다. |
public | 어디서든 접근할 수 있다. |
protected | 외부에서 접근할 수 없으나 상속 관계에선 접근 할 수 있다. |
internal | 같은 정의의 모듈에서 접근할 수 있다. |
코드
open class A (
private var privateVar: Int = 0,
protected var protectedVar: Int = 0,
public var publicVar: Int = 0,
internal var internalVar: Int = 0,
var noneVar: Int = 0 // 가시성 지시자를 지정하지 않으면 자동으로 public
) {
}
class B : A() {
fun action() {
println(privateVar) // private은 외부에서 접근할 수 없음
println(protectedVar) // 상속관계에서 protected는 접근할 수 있음
println(publicVar)
println(internalVar)
println(noneVar)
}
}
fun main() {
val b = B()
b.action()
println(b.privateVar) // private은 외부에서 접근할 수 없음
println(b.protectedVar) // protected는 외부에서 접근할 수 없음
println(b.publicVar)
println(b.internalVar)
println(b.noneVar)
}
Java의 package 가시성 지시자
Java의 package 가시성 지시자는 같은 package안에서 접근할 수 있는 지시자이다. 하지만 프로젝트 단위 묶음의 jar파일이 달라져도 패키지 이름이 동일하면 접근할 수 있는 문제점이 있다.
'Kotlin (코틀린)' 카테고리의 다른 글
Kotlin in A..Z (17) - 지연 초기화와 by 위임 (0) | 2020.07.15 |
---|---|
Kotlin in A..Z (16) - 프로퍼티 getter, setter (0) | 2020.07.15 |
Kotlin in A..Z (14) - 상속 (0) | 2020.07.15 |
Kotlin in A..Z (13) - 클래스 (0) | 2020.07.15 |
Kotlin in A..Z (12) - for, while, do ~ while (0) | 2020.07.15 |
Comments