[IBAction, IBOutlet의 역할]
둘의 역할은 StoryBoard와의 연결고리를 담당하는 것이다.
변수나 함수를 정의할 때 앞에 @IBAction 또는 @IBOutlet 키워드를 통해 StoryBoard에서 버튼이나 레이블같은 컴포넌트와 연결이 가능하다.
IBAction은 Event가 일어난 경우 호출되는 Action을 정의해둔 것이고, IBOutlet은 값에 접근하기위한 변수라고 보면 된다.
[IBAction, IBOutlet의 정의]
Action은 입력이 들어왔을때 어떤 행동을 할 지를 나타내고, Outlet은 데이터를 가져오는 것이다.
앞에 붙게되는 IB는 Interface Builder의 약자이다. 즉 IBAction은 Interface Builder를 통해 받아온 정보로 Action을 수행하겠다는 의미가 된다.
[@의 의미]
@는 컴파일러에게 어떤 속성을 가지고있다고 전하는 역할을 하는 예약어이다. 컴파일러에게 @가 붙은 명령어에 대해 어떤 속성(attribute)가 부여되었음을 말한다.