컴파일 최적화의 핵심은? : 서로의 관계가 연결될 필요가 없다면, 최대한 파일간의 연결성을 차단시키는 것 → final 키워드 같이, 클래스의 추후 상속을 단절시킬 수 있는 키워드를 잘 활용하자! → private 키워드 같이, 외부에서 바로 멤버나 메서드를 건드리지 못하도록 제어하자! → *Dynamic Dispatch 상태인 메서드를 Static Dispatch 형태로 설정해보자!
*Method Dispatch: 함수를 어떻게 실행시킬지에 대한 명세
•
컴파일 단계에서 함수가 확정되는지 vs 런타임 단계에서 함수가 실행되는지에 대한 여부
•
Dynamic Dispatch - 런타임 단계에서 함수 확정 - class (오버라이딩을 하거나 상속을 시킬 수 있어서)
•
Static Dispatch - 컴파일 단계에서 함수 확정 - struct, enum 내부에서 정의한 메서드