POP가 도대체 뭐야??

선민재·2022년 7월 2일
3
post-thumbnail

iOS 로드맵을 보면 POP(Protocol Oriented Programming)이 있는데
여기서 생기는 의문 POP가 과연 무엇일까?

지금부터 알아보도록 하자!

POP가 무슨 뜻이야?

POPProtocol Oriented Programming의 약자이다.
Protocol Oriented Programming을 직역해보면,
프로토콜 지향 프로그래밍이라는 뜻이 된다.

쓰는 이유는 뭔데?

보통 코드를 작성하면 상속을 자주 사용할 것이다.
상속을 받으려면 클래스를 사용해야하는데
클래스는 멀티스레드 환경에서 한 원본을 두고 여러작업을 동시에 진행하게 되면
원본 데이터가 꼬일 가능성이 크기때문에 하나의 원본으로 작업할 필요가 없다면
가급적으로 값 타입인 구조체가 열거형을 사용하는 것을 권장한다.
하지만 여기서 드는 의문점 구조체나 열거형은 상속이 불가능하잖아!
그래서 쓰이는게 프로토콜이다(프로토콜에 대해 알고싶다면)

장점은 뭐야?

  • 가볍고 안전하다

    • 상속과 달리 필요한것만 골라서 쓸 수 있다.
    • 상속의 경우, 참조 타입이므로 참조 추척을 위한 비용이 많이 발생하기 때문 에 속도측면에서 다소 느리다.
  • 코드 중복을 줄일 수 있다.

  • 수평적인 확장 기능
    class는 하나만 상속 가능하고 수직적인 구조를 나타내지만, 하지만 Protocol은 수평적으로 기능을 확장할 수 있다.

  • 제네릭 활용
    제네릭과 연관 값 기능을 제공한다.

마무리

이번에는 POP에 대해 알아보았다.
긴 글 읽어주셔서 감사합니다. 👊

profile
열심히 하자

0개의 댓글