[kotlin] 코틀린에서 함수와 메서드의 가시성 범위
코틀린에서는 함수와 메서드의 가시성 범위에 대한 개념이 중요합니다. 가시성 범위에 따라 외부에서 어떤 요소에 접근할 수 있는지가 결정됩니다.
함수의 가시성 범위
코틀린에서 함수에는 4가지 가시성 범위가 있습니다.
1. public
fun publicFunction() {
// 외부에서 접근 가능
}
2. private
private fun privateFunction() {
// 같은 파일 안에서만 접근 가능
}
3. internal
internal fun internalFunction() {
// 같은 모듈 안에서만 접근 가능
}
4. protected
open class Foo {
protected open fun protectedFunction() {
// 하위 클래스에서만 접근 가능
}
}
메서드의 가시성 범위
메서드의 가시성 범위도 함수와 비슷하지만 클래스의 멤버로 사용되는 특성 때문에 약간 다릅니다.
1. public
class Example {
fun publicMethod() {
// 외부에서 접근 가능
}
}
2. private
class Example {
private fun privateMethod() {
// 클래스 내부에서만 접근 가능
}
}
3. protected
open class Foo {
protected open fun protectedMethod() {
// 하위 클래스에서만 접근 가능
}
}
4. internal
class Example {
internal fun internalMethod() {
// 같은 모듈 안에서만 접근 가능
}
}
결론
코틀린에서는 함수와 메서드 모두 가시성 범위를 가지고 있으며, 이를 활용하여 프로그램의 모듈성을 유지하고 외부와의 인터페이스를 명확히 할 수 있습니다.
참고 자료
- 코틀린 공식 문서
- Kotlin in Action, Dmitry Jemerov, Svetlana Isakova