Swift에서는 접근 수준(Access Control)을 사용하여 모듈과 소스 파일 간에 코드의 접근을 제어할 수 있습니다. 이를 통해 모듈 간의 의존성을 줄이고 안정적인 코드를 유지할 수 있습니다. Swift에서는 네 가지의 접근 수준을 제공합니다. 이 포스트에서는 각각의 접근 수준에 대해 알아보겠습니다.
공개 접근 수준 (Public Access Level)
공개 접근 수준
은 가장 높은 접근 수준으로, 다른 모듈에서 사용할 수 있는 모든 인터페이스를 나타냅니다. public
키워드를 사용하여 선언할 수 있으며, 다른 모듈에서 해당 인터페이스를 사용할 수 있습니다.
public class SomePublicClass {
public var somePublicProperty: Int = 0
public func somePublicMethod() {
// 공개 메서드의 구현
}
}
내부 접근 수준 (Internal Access Level)
내부 접근 수준
은 기본적으로 모든 코드에 적용되는 접근 수준으로, 해당 모듈 내에서 자유롭게 접근할 수 있습니다. 별도의 접근 수준을 지정하지 않으면 내부 접근 수준이 적용됩니다.
class SomeInternalClass {
var someInternalProperty: Int = 0
func someInternalMethod() {
// 내부 메서드의 구현
}
}
파일-내부 접근 수준 (File-private Access Level)
파일-내부 접근 수준
은 해당 파일 내에서만 접근할 수 있는 접근 수준으로, 다른 파일 내에서는 접근할 수 없습니다. private
키워드를 사용하여 선언할 수 있으며, 같은 Swift 파일 내에서만 접근 가능합니다.
fileprivate class SomeFilePrivateClass {
fileprivate var someFilePrivateProperty: Int = 0
fileprivate func someFilePrivateMethod() {
// 파일-내부 메서드의 구현
}
}
비공개 접근 수준 (Private Access Level)
비공개 접근 수준
은 가장 제한적인 접근 수준으로, 해당 클래스 내에서만 접근할 수 있습니다. private
키워드를 사용하여 선언할 수 있으며, 같은 클래스 내에서만 접근 가능합니다.
class SomePrivateClass {
private var somePrivateProperty: Int = 0
private func somePrivateMethod() {
// 비공개 메서드의 구현
}
}
위와 같이 Swift는 네 가지의 접근 수준을 제공하여 모듈과 소스 파일 간의 안전한 코드 접근을 보장합니다. 알맞은 접근 수준을 선택하여 코드를 구현함으로써 모듈 간의 의존성을 줄이고 유지보수에 용이한 코드를 작성할 수 있습니다.
더 많은 정보는 Swift 공식 문서를 참고하세요.