Access control은 코드의 일부를 다른 소스파일이나 모듈로부터 제한하는 것이다.
이는 코드의 자세한 구현부를 숨기고 접근 가능한 범위를 구체화한다.
import keyword로 내 소스파일에서 사용할 수 있다.import로 접근 가능하다.Open access applies only to classes and class members, and it differs from public access by allowing code outside the module to subclass and override
open은 class와 class 멤버에만 사용할 수 있고, 선언된 모듈 외부에서 subclass와 override가 가능하다는 점이 public과의 차이점이다.
// 예제 코드
func someFunction() -> (SomeInternalClass, SomePrivateClass) { // error
// function implementation goes here
}
// function의 access level은 parameter, return type의 access level 중 가장 제한적인 것으로 결정됨
private func someFunction() -> (SomeInternalClass, SomePrivateClass) {
// function implementation goes here
}
https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html
https://baked-corn.tistory.com/80