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