La programación orientada a protocolos (POP) es una característica del lenguaje Swift que permite definir funciones y propiedades que deben ser implementadas por clases, estructuras o enumeraciones. A diferencia de la programación orientada a objetos (OOP), la POP ofrece ventajas como datos por valor, la no necesidad de inicializar datos y la mejora de tipos a través de extensiones de protocolos. Esto contribuye a un enfoque más flexible y menos propenso a errores en el diseño del software.