반응형
접근 제어 (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' 카테고리의 다른 글
[프로그래머스 LV.1] 시저 암호 (0) | 2023.02.08 |
---|---|
[프로그래머스 LV.1] 문자열을 정수로 바꾸기 (0) | 2023.02.08 |
[Swift] ARC (0) | 2023.02.07 |
[Swift] 제네릭 (Generic) (0) | 2023.02.07 |
[Swift] 에러 처리 (0) | 2023.02.07 |