[kotlin] 코틀린에서의 접근 제한자를 사용하여 모듈 간의 상호작용을 제어할 수 있나요?
- public: 어떤 모듈에서든 접근할 수 있습니다.
- protected: 같은 클래스나 하위 클래스에서만 접근할 수 있습니다.
- private: 같은 파일 내에서만 접근할 수 있습니다.
- internal: 같은 모듈 내에서만 접근할 수 있습니다.
예를 들어, internal
접근 제한자를 사용하면 같은 모듈 내에서만 접근할 수 있는 멤버를 정의할 수 있습니다. 이는 모듈 간 상호작용을 제한하는 데 유용합니다.
// Module A
internal class InternalClassA
// Module B
fun main() {
val objA = InternalClassA() // 에러: 접근할 수 없는 식별자
}
위의 예제에서 InternalClassA
는 internal
접근 제한자를 가지고 있기 때문에 Module A 밖에서는 접근할 수 없습니다. 이렇게 함으로써 모듈 간의 상호작용을 제어할 수 있게 됩니다.
더 자세한 내용은 코틀린 공식 문서를 참고할 수 있습니다.