Protocol

    [iOS][Swift] 프로토콜 vs 인터페이스 차이점

    [iOS][Swift] 프로토콜 vs 인터페이스 차이점

    Swift를 공부하다보니 protocol 이란 개념이 많이 등장해서 protocol 이 정확히 뭘까하고 자료들을 찾다가, Swift는 프로토콜 지향 언어(Protocol-Oriented-Language) 라는 것을 알게 되었다. 그런데 읽다보니 Java에서의 interface 와 비슷한 것 같았고, 무엇이 다른지 알아보았습니다. protocol(프로토콜)은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의합니다. 구조체, 클래스, 열거형은 프로토콜을 채택(Adopted) 해서 특정 기능을 수행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있습니다. 어떤 프로토콜의 요구사항을 모두 따르는 타입은 그 프로토콜을 준수한다(Conform) 고 표현합니다. 타입에서 프로토콜의 요..