본문 바로가기
⌨️ Language/swift

[Swift] 접근 제어 (Access Control)

by hyebin (Helia) 2023. 2. 7.

접근 제어 (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

댓글