프로토콜 지향 프로그래밍(POP)이란 무엇이며, 어떤 장점이 있나요?
프로토콜 지향 프로그램이란?
다양한 객체들 간의 상호작용을 위해 프로토콜을 정의하고 준수하는 프로그래밍 방식, 모듈화와 유지보수성 및 확장성을 향상시키는데 도움이 된다.
프로토콜 확장(Protocol Extension)을 사용하는 이유는 무엇인가요?
프로토콜 컴포지션(Protocol Composition)은 어떤 경우에 사용하나요?
protocol A {}
protocol B {}
// 프로토콜 컴포지션
class AB: A, B {}
프로토콜과 제네릭(Generic)을 함께 사용하면 어떤 이점이 있나요?
// Comparable 프로토콜을 준수하는 타입에 대한 제네릭 함수
func findLargest<T: Comparable>(in array: [T]) -> T? {}