Interface Builder
@는 컴파일러에게 어떤 속성을 가지고있다고 전하는 역할을 하는 예약어
컴파일러에게 @가 붙은 명령어에 대해 어떤 attribute가 부여되었음을 말한다.
@IBAction → Interface Builder와 연결된 Action이 있다.
@UIApplicationmMain → App의 Main이 여기에있다.
만약, @IBAction의 속성이 func의 정의 앞에 붙어있다면, 이 함수는 Interface Builder에서 사용될 수 있고 UI로 연결이 가능하다는 의미를 가진다.
접근 제어는 다른 소스파일 및 모듈의 코드에서, 코드의 일부에 대한 접근을 제한한다.
여기서 말하는 모듈은, Xcode의 각 빌드 대상(ex. framework)은 Swift에서 별도의 모듈로 처리 됨.
UIKit 같이 import 키워드를 사용해 불러오는 것을 모듈이라고 한다.
소스파일은 모듈 내의 단일 Swift 소스 코드 파일이다. ViewController.swift 같은 애들..
Swift에서도 보통 파일 하나에 타입 하나만 정의하는데, 소스파일 하나에 여러 타입이나 함수등 많은 것을 구현할 수 있다.
사용자 정의 타입 뿐만아니라, 해당 타입에 속한 프로퍼티, 메서드, 이니셜라이저 및 subscripts에 대해서도 특정한 접근 레벨을 지정해 줄 수 있다.
open 은 Class에만 지정할 수 있다. 구조체와 열거형은 public부터 가능하다.