Jaebi의 Binary는 호남선

Swift - 문법 (접근 제어) 본문

Swift

Swift - 문법 (접근 제어)

jaebijae 2024. 7. 20. 04:06

목차 Open

접근 제어

  • Swift의 접근제어 → 모듈과 소스파일을 기반
    • 모듈: 배포할 코드의 묶음 단위 (프레임워크, 라이브러리, 어플리케이션), import를 사용하여 불러옴
  • 소스파일 → 하나의 Swift 소스 코드 파일
 
 
Keyword
접근도
범위 비고
open
높음

↕︎
낮음
모듈 외부까지 클래스에서만 사용 가능
public
internal 모듈 내부
filePrivate
private 기능 정의 내부
  • open
    • 클래스와 클래스 멤버에서만 사용
    • 정의된 모듈 밖에서도 상속 가능
    • 다른 모듈에서도 부모 클래스로 사용할려는 목적으로 설계하면 open 사용
  • public
    • 소스파일 / 소스에 속해있는 모듈, 그 모듈을 가져다 쓰는 모듈 등에서 사용
    • 주로 프레임워크에서 외부와 연결될 인터페이스를 구현하는데 쓰임
    • 프레임워크를 만들때는 API로 사용할 기능을 public로 지정, 외의 요소는 internal 이나 private으로 설정
  • internal
    • 소스파일이 속해 있는 모듈 어디서든 사용 가능 (기본 접근 수준)
  • filePrivate: 같은 파일 어떤 코드에서도 접근 가능
    • 구현된 소스파일 내부에서만 사용
  • private: 같은 파일 내부에 다른 타입 코드가 있어도 접근 불가능
    • 구현된 소스파일 내부에서만 사용, 구현한 타입이나 기능 안이어야 함
    • extension에서는 private 요소 접근 가능
 

'Swift' 카테고리의 다른 글

ARC (Automatic Reference Counting)  (0) 2024.07.20
Swift - Memory 기초  (0) 2024.07.20
Swift Local Network Connection  (0) 2024.06.19
Swift Wi-Fi Configuration  (0) 2024.06.19
WWDC 2024 - WeatherKit Sample App  (0) 2024.06.13