Overview Swift 에 관한 세부 개념을 다루며 가장 중요한 주제인 프로토콜과 Closure 에 관하여 다룬다. 일반적으로 타입으로서의 함수도 다루게 된다. String 도 다루기는 하는데 주요한 주제는 아니다. 기존에 작성된 Concentration 게임 모델은 클래스로 작성되어있었다. struct 가 적합할 것 같아서 타입을 선언해주는 방법을 바꾸게 되었다. 왜냐하면 어딘가로 넘겨주지 않고 컨트롤러 내부에서만 위치하기 때문이다. struct 로 키워드를 바꾸니까 오류가 발생한다. self 가 immutable 하기 때문이다. 일단 함수에 mutating 키워드가 사용되지 않았기 때문에 타입의 상태를 바꾼다고 생각하지 않는다. 하지만 카드를 선택하는 과정은 faceup 상태를 바꾸기 때문에 mu..