이번 글은 접근제어에 대해 작성해보고자 한다.
접근 제어
모듈
소스파일
접근 수준
접근 수준 | 키워드 | 접근도 | 범위 | 비고 |
---|---|---|---|---|
개방 접근수준 | open | 높음 | 모듈 외부까지 | 클래스에서만 사용 |
공개 접근수준 | public | 모듈 외부까지 | ||
내부 접근수준 | internal | 모듈 내부 | ||
파일 외부 비공개 접근 수준 | fileprivate | 파일 내부 | ||
비공개 접근수준 | private | 낮음 | 기능 정의 내부 |
public (공개 접근 수준)
open (개방 접근수준)
open class NSString: NSObject, NSCopying, NSMutableCopying, NSSecureCoding {
open var length: Int { get }
open func character(at index: Int) -> unichar
public init()
public init?(coder aDecoder: NSCoder)
}
internal (내부 접근수준)
fileprivate (파일 외부 비공개 접근수준)
private (비공개 접근수준)
‘상위 요소보다 하위 요소가 더 높은 접근 수준을 가질 수 없다’
ex. 상위 class가 private이면 그 안에 정의되어 있는 public class 또한 private으로 취급됨
[출처] 스위프트 프로그래밍 (야곰), 야곰의 스위프트 기초문법 강좌, 개발하는 정대리 스위프트 강좌