티스토리 뷰
Method Dispatch
스위프트가 어떻게 해당 메소드를 실행할지 정하는 것
Direct, Table, Message Dispatch 3가지 방식이 있다.
Direct Dispatch (Static)
컴파일 타임에 결정이 되며 가장 빠르고 밸류 타입 (구조체/ 열거형) 에 사용된다.
하지만 다형성을 활용하기가 어렵다.
Table Dispatch (Dynamic)
런타임 타임에 결정이 되며 중간 속도로 클래스 / 프로토콜 에 사용된다.
Message Dispatch
런타임 타임에 결정이 되며 , 가장 느리고 Objective-C 클래스 에서 사용된다.
성능 최적화를 위해 direct dispatch 사용
1. 오버라이드 될 필요 없는 요소들에는 final 키워드 사용
ex) final class
2. private 키워드 사용
3. class 보다는 struct 와 enum 사용
Reference
'IOS > swift' 카테고리의 다른 글
| [Swift] 클로저와 메모리 관리 (0) | 2022.04.06 |
|---|---|
| [Swift] ARC (0) | 2022.04.05 |
| [Swift] Optional (0) | 2022.03.22 |
| [Swift] Codable (0) | 2022.03.22 |
| Property wrapper (UserDefaults 적용) (0) | 2022.03.05 |