
디스패치 학습하기 (3) [ Value Type Dispatch, Protocol Dispatch ]
·
Programing Langauge/swift
이번에는 단순한 값 타입과 프로토콜을 이용 했을 때 동작하는 Dispatch를 알아보자 Value Type에서의 DispatchValue Type인 구조체, 열거형은 상속을 할 수 없다는 특징 때문에 오버라이딩이 될 가능성이 없고, 따라서 Static Dispatch 를 사용한다 Protocol에서의 Dispatch프로토콜은 기본적으로 메서드의 선언부만 제공하기 때문에 실제 사용할 때 프로토콜 타입을 참조로만 사용할 경우 해당 인스턴스에 맞는 메서드를 호출해야하므로 Dynamic Dispatch를 사용한다. 두개의 struct가 Human 프로토콜을 채택했지만 왼쪽은 값타입인 구조체를 이용했기 때문에 Static Dispatch가 이루워지고 오른쪽은 프로토콜을 타입을 사용했고 해당 인스턴스 타입에 맞..