[WWDC] Understanding Swift Performance(2) - Protocol Programming
2023. 8. 7. 17:48
iOS/Swift
앞선 포스팅에서 Polymorphic(다형성)을 사용하기 위해선, Class를 사용해야 했다. 하지만, Class는 아래와 같은 이유로 성능적으로 좋지 않았다. Heap Memory Allocation, Reference Counting, Dynamic Dispatch 그렇다면 Struct로 "Polymorphic(다형성)"을 사용할 수 없을까? 이는 Protocol Oriented Programming을 통해 가능하다. Dynamic Dispatch without V-Table Class의 경우 Common Inheritance Relationship(공통 상속관계)가 존재하기 때문에 V-Table이 필요했다. 하지만 Struct의 경우 Class와 달리 Common Inheritance Relatio..