[swift] 접근 제어(Access Control)
내부 접근 수준(Internal Access Level)
기본적인 접근 수준이며, 동일한 모듈 내에서는 모든 요소에 액세스할 수 있습니다. 별도의 키워드를 지정하지 않으면 모든 코드는 내부 액세스 수준으로 처리됩니다.
internal class InternalClass {
internal var internalProperty: Int
internal init(internalProperty: Int) {
self.internalProperty = internalProperty
}
}
개방 접근 수준(Open Access Level)
외부 모듈에서도 상속이 가능한 접근 수준입니다. 주로 외부로 공개하고자 하는 것에 사용됩니다.
open class OpenClass {
open var openProperty: String
public init(openProperty: String) {
self.openProperty = openProperty
}
}
비공개 접근 수준(Private Access Level)
코드 내에서만 액세스할 수 있는 최고 수준의 접근 제어입니다. 보통 클래스 내부의 세부 구현을 숨기고자 할 때 사용됩니다.
private class PrivateClass {
private var privateProperty: Double
private init(privateProperty: Double) {
self.privateProperty = privateProperty
}
}
모듈 간 상호 작용 및 코드 구성을 보호하려면 접근 제어를 사용하여 개발하면서 안정성과 보안을 강화할 수 있습니다.
참조: Swift 공식 문서 - Access Control