[swift] 접근 제어
Swift에서는 접근 제어를 통해 모듈과 소스 파일 내에서 속성, 메서드, 클래스 등에 대한 접근 권한을 제어할 수 있습니다. 이를 통해 코드를 모듈화하고 보안을 강화할 수 있습니다.
접근 수준
Swift에서는 아래와 같이 5가지의 접근 수준을 제공합니다.
open
: 가장 높은 접근 수준으로, 외부 모듈에서 사용 가능하며, 상속을 허용합니다.public
: 외부 모듈에서 사용 가능하지만, 상속은 허용하지 않습니다.internal
: 디폴트로 설정되며, 모듈 내에서 접근 가능하고, 외부 모듈에서는 접근할 수 없습니다.fileprivate
: 소스 파일 내에서만 접근 가능합니다.private
: 가장 제한적인 접근 수준으로, 선언한 범위 내에서만 접근 가능합니다.
예제 코드
다음은 접근 제어를 사용한 예제 코드입니다.
open class MyClass {
public var publicProperty: Int = 0
internal var internalProperty: String = ""
fileprivate var fileprivateProperty: Double = 0.0
private var privateProperty: Bool = false
open func openMethod() {
// ...
}
public func publicMethod() {
// ...
}
internal func internalMethod() {
// ...
}
fileprivate func fileprivateMethod() {
// ...
}
private func privateMethod() {
// ...
}
}
위의 예제에서 MyClass
는 open
으로 선언되어 외부 모듈에서 상속받을 수 있는 클래스입니다. 각 속성과 메서드는 해당 접근 수준에 맞게 설정되어 있습니다.