접근 제어 (Access Control)
- 특정 코드의 접근을 다른 소스 파일이나 모듈에서 제한하는 것
모듈과 소스파일
- Swift의 접근 제어는 모듈과 소스파일에 기반을 두고 있음
- 모듈은 코드를 배포하는 단일 단위로, 프레임워크나 앱이 이 단위로 배포되고 다른 모듈에서 import 키워드를 사용해 포함될 수 있음
- 소스파일은 모듈 안에 있는 소스파일을 의미
접근 레벨
- Swift에서는 5개의 접근 레벨을 제공
Open | 선언한 모듈이 아닌 다른 모듈에서 사용 가능 |
Public | 선언한 모듈이 아닌 다른 모듈에서 접근이 가능 다른 모듈에서 오버라이드와 서브클래싱이 불가능 |
Internal | Internal 기본 접근 레벨 |
File-Private | 특정 엔티티가 선언한 파일 안에서만 사용 가능 |
Private | Private 특정 엔티티가 선언된 괄호({}) 안에서만 사용 가능 |
public class SomePublicClass { }
internal class SomeInternalClass { }
private class SomePrivateClass { }
public var somePublicVariable = 0
internal let someInternalConstant = 0
private func somePrivateFunction() { }
반응형
'⌨️ Language > swift' 카테고리의 다른 글
[Swift] 변수와 프로퍼티1 (0) | 2024.03.15 |
---|---|
[Swift] Escaping Closure (1) | 2023.05.20 |
[Swift] ARC (0) | 2023.02.07 |
[Swift] 제네릭 (Generic) (0) | 2023.02.07 |
[Swift] 에러 처리 (0) | 2023.02.07 |
댓글