GGURUPiOS
[Swift] 접근제어(Access Control)란? 본문
안녕하세요.
이번시간에는 Swift의 접근제어(acces control)에 대해 알아보도록 하겠습니다.
접근 제어란?
특정 코드 접근을 제한하는 것 (소스파일, 모듈)
접근 레벨 종류
- Open & Public: 정의한 모듈의 모든 소스파일과 정의한 모듈을 가져옴, 다른 모듈의 소스파일에서 엔티티를 사용가능
(일반적으로 프레임워크)
!Open은 클래스와 클래스 멤버에만 적용되고,서브 클래스와 재정의 가능 - Internal: 정의한 모듈의 모든 소스 파일 내에서 사용할 수 있지만, 모듈 외부에서는 불가능
(일반적으로 앱 또는 프레임워크 내부 구조체) - File-private: 자체 정의한 소스 파일로 사용제한
세부 내용은 파일 전체에서 사용되고, 기능의 특정 부분의 구현 세부정보를 가리기 위해 사용 - Private: 엔티티를 둘러싸고 있는 선언과 동일한 파일에 있는 해당 선언의 확장으로 사용을 제한
원칙
어떤 엔티티도 더 낮은 액세스 수준을 가진 다른 엔티티의 관점에서 정의 불가능
예를들어,
- public 변수는 internal, file-private, private으로 선언된 타입으로 정의할 수 없음
- 함수는 파라미터, 리턴타입보다 높은 접근 수준을 가질 수 없음
출처
https://bbiguduk.gitbook.io/swift/language-guide-1/access-control#access-control-syntax
'Swift > 문법 파헤치기' 카테고리의 다른 글
[Swift] Defer 란? (1) | 2024.01.03 |
---|---|
[Swift] Hashable 이란? Equatable을 준수해야 하는 이유 (1) | 2023.12.04 |
[Swift] 프로토콜 지향 vs 객체 지향 프로그래밍 (POP vs OOP) (1) | 2023.12.04 |
[Swift] KVO란? Key-Value 코딩과 함께 알아보자 (0) | 2023.11.09 |
[Swift] Singleton? 싱글톤에 대해 알아보기 (1) | 2023.11.07 |