2. 프로토콜이란
• C++의 추상클래스는 객체를 생성하는 용도가 아
니라 상속을 통해서 물려받은 클래스가 반드시 가
져야 할 프로퍼티와 메소드를 정의하는 용도임
• 자바의 인터페이스 역시 인터페이스를 implement
한 클래스가 반드시 구현해야 할 메소드를 가지고
있다
• 특정 객체가 갖추어야 할 기능이나 속성에 대한
설계도이다
3. 프로토콜
• 실질적인 내용은 없는 프로퍼티나 메소드의 단순
선언문
• 이 프로토콜을 이용하는 객체에서 내용을 정의함
• 프로토콜에 선언된 프로퍼티나 메소드를 프로토
콜의 ‘명세(specification)’이라 한다
• 클래스는 선언시 :(colon) 문뒤에 구현해야 할 프
로토콜을 적어줌
9. 프로토콜
• 클래스는 다중상속은 허용하지 않지만 상속과 프로토콜
구현을 동시에 선언할 수 있다
• 상속과 프로토콜에서 동시에 init() 이 있을 경우
overide required를 키워드를 동시에 추가한다
10. 확장구문
• 클래스를 이미 구현한 후에 수정할 필요가 생겼다
• 클래스 코드를 수정하면 되지만, extension을
통해서 클래스를 확장시키는 방법도 있다
• 확장 구문에서 프로토콜을 구현한다면 이후로
해당 클래스는 프로토콜을 구현한 것으로 처리
된다
• 기존 클래스를 수정하지 않아도 된다는 장점이
있음