[코틀린 문법] 스코프와 접근제한자
Scope(스코프)
// Scope(범위) //
// 언어 차원에서 멤버(변수, 함수, 클래스)를 서로 공유하여 사용할 수 있는 범위를 지정해 둔 단위
// 1. 스코프 외부에서는 스코프 내부의 멤버를 참조연산자로만 참조 가능
// 2. 동일 스코프 내에서는 멤버 공유 가능
// 3. 하위 스코프에서 상위 스코프의 멤버 재정의 가능
// 2. 예시
val a = "패키지 스코프"
class B {
// 3. 예시
val a = "클래스 스코프"
fun print() {
println(a)
}
}
fun main() {
// 3. 예시
val a = "함수 스코프"
println(a)
B().print()
}
Access Modifier(접근제한자)
// Access Modifier(접근제한자) //
// 스코프 외부 -> 내부 접근 권한을 개발자가 제어할 수 있는 기능
// 함부로 건드리면 안 되는 기능/값을 안전하게 제한하는 용도
// 변수, 함수, 클래스 선언시 앞에 붙임
// public, internal, private, protected
// Package Scope(패키지 스코프) //
// public -> 어떤 패키지에서도 접근 가능
// internal -> 같은 모듈 내에서만 접근 가능
// private -> 같은 파일 내에서만 접근 가능
// Class Scope(클래스 스코프) //
// public -> 클래스 외부에서 늘 접근 가능
// private -> 클래스 내부에서만 접근 가능
// protected -> 클래스 자신과 상속받은 클래스에서 접근 가능
참고
반응형
'개발(Android) > kotlin syntax' 카테고리의 다른 글
[Kotlin syntax] Scope Functions (0) | 2022.04.05 |
---|---|
[Kotlin syntax] Higher-Order Functions, Lambda Functions, Unit (0) | 2022.04.05 |
[Kotlin syntax] Overriding, Abstract Class, Interface (0) | 2022.04.05 |
[Kotlin syntax] Class (0) | 2022.04.04 |
[Kotlin syntax] Break, Continue, Logical Operators (0) | 2022.04.04 |