Swift에서는 5개의 접근레벨을 제공
높음
Open
& Public
: Open과 Public 접근자 모두 선언한 모듈이 아닌 다른 모듈에서 사용 가능. 차이점? Open은 다른 모듈에서 오버라이드와 서브클래싱이 가능, Public 접근자로 선언된 것은 다른 모듈에서는 오버라이드와 서브클래싱이 불가능Internal
: 기본 접근레벨로 아무 접근레벨을 선언하지 않으면 Internal
로 간주. Internal
로 선언되면 해당 모듈 전체에서 사용 가능File-private
: 특정 엔티티를 선언한 파일 안에서만 사용 가능Private
: 특정 엔티티가 선언된 괄호({}) 안에서만 사용 가능낮음
Swift 접근 레벨은 더 낮은 레벨을 갖고 있는 다른 엔티티를 특정 엔티티에 선언해 사용할 수 없다