이 포스팅은 Swift 시리즈 20 편 중 14 번째 글 입니다.

  • Part 1 - 01: Optional, Any, AnyObject, nil
  • Part 2 - 02: struct, class, enum
  • Part 3 - 03: Closure
  • Part 4 - 04: Property
  • Part 5 - 05: 상속, 생성자, 소멸자
  • Part 6 - 06: 옵셔널 체이닝과 nil 병합
  • Part 7 - 07: 타입 캐스팅
  • Part 8 - 08: assert, guard
  • Part 9 - 09: Protocol
  • Part 10 - 10: Extention
  • Part 11 - 11: 오류처리
  • Part 12 - 12: 고차함수
  • Part 13 - 13: ARC(Automatic Reference Counting)
  • Part 14 - This Post
  • Part 15 - 15: Generics
  • Part 16 - 16: Optional에 대한 깊은 이해
  • Part 17 - 17: Lazy Variables
  • Part 18 - 18: Enumeration
  • Part 19 - 19: Initialization
  • Part 20 - 20: Concurrency
▼ 목록 보기

Access modifier

image

  • 모듈 : 코드 배포의 단일 유닛
  • 접근 수준에 따른 키워드
    • open & public : 모듈의 모든 소스파일 내에서 사용 가능, 모듈을 가져오는 다른 모듈의 소스파일에서도 사용가능
    • internal : 모듈 내부의 모든 소스파일 내에서 사용가능
    • fileprivate : 현재 소스파일 내에서만 사용가능
    • private : 현재 블럭 내에서만 사용가능
  • 기본은 internal

예시로 이해하기

open class var blue :  UIColor { get }
  • open : 모듈 외부까지, 어느 곳에서든 접근 가능
  • class : 타입 프로퍼티, 클래스에서만 사용하는 변수기 때문에 UIColor.blue와 같이 접근해야 한다.
  • 읽기, 쓰기 가능한 프로퍼티는 정의 뒤에 {get set}
  • 읽기만 가능한 프로퍼티는 정의 뒤에 { get }

Reference