코틀린에서는 함수나 클래스의 멤버에 대한 가시성(visibility)을 지정할 수 있습니다. 가시성은 해당 요소가 다른 코드에서 어떻게 접근 가능한지를 결정합니다. 코틀린은 기본적으로 가시성을 세 가지로 나눕니다.
1. public
기본적으로 코틀린에서는 모든 선언이 public 가시성을 가지며, 어떤 패키지에서도 접근 가능합니다. 명시적으로 가시성을 지정하지 않으면 public으로 간주됩니다.
class Example {
fun publicFunction() {
println("This is a public function")
}
}
2. internal
internal 가시성은 같은 모듈(module) 내에서만 접근이 가능합니다. 모듈은 일반적으로 하나의 프로젝트를 나타내며, 프로젝트 내의 모든 패키지를 포함합니다.
internal class InternalClass {
internal fun internalFunction() {
println("This is an internal function")
}
}
3. private 및 protected
private과 protected는 클래스의 멤버에 사용됩니다.
- private: 동일한 클래스 내에서만 접근이 가능합니다.
class PrivateExample {
private fun privateFunction() {
println("This is a private function")
}
fun callPrivateFunction() {
privateFunction()
}
}
- protected: 동일한 클래스 내부와 해당 클래스를 상속받은 하위 클래스에서만 접근이 가능합니다.
open class Parent {
protected fun protectedFunction() {
println("This is a protected function")
}
}
class Child : Parent() {
fun callProtectedFunction() {
protectedFunction()
}
}
위의 예제에서 Child 클래스는 Parent 클래스를 상속받았으므로 protectedFunction에 접근할 수 있습니다.
가시성을 명시적으로 지정하는 것은 코드의 가독성을 높이고, 프로젝트의 유지보수를 용이하게 만듭니다. 따라서 가시성을 신중하게 사용하여 코드를 설계하는 것이 좋습니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 패키지 임포트 (import) (0) | 2023.12.23 |
---|---|
코틀린 패키지 (0) | 2023.12.23 |
코틀린 함수의 영역 (0) | 2023.12.23 |
코틀린 가변인자 vararg 키워드 (0) | 2023.12.17 |
코틀린 디폴트 값 (0) | 2023.12.17 |