final, private키워드를 사용해 성능을 향상시킬 수 있다.
여러 방법이 있지만 메서드 디스패치(Method Dispatch)와 관련이 있다.
https://clamp-coding.tistory.com/364
[Swift]. Method Dispatch
Method Dispatch 실제로 Method는 CPU에대한 명령어이며, 실제론 코드 영역에만 존재한다. 그렇기 때문에 코드 영역에 있는 메서드를 실행시키려면 메서드 주소가 필요하다. 그런데 그 메서드 주소를
clamp-coding.tistory.com
final
final이 붙은 클래스는 상속이 불가하기 때문에 하위 클래스에서 이들을 오버라이딩 될 수 없게 되므로 자연스럽게 Static Dispatch로 동작하게 된다.
private(접근제어)
private으로 선언할 경우 참조 가능한 범위가 제한되며 이에 컴파일러는 해당 프로퍼티가 참조될 수 있는 구역 내에서 오버라이딩이 될지, 안될지 판단할 수 있게된다. 오버라이딩 되는 곳이 없다고 판단할 경우 컴파일러는 스스로 final로 추론해서 Static Dispatch로 동작시키게 된다.