자바 Dispatch란? ( static , dynamic , double Dispatch )
※ Static Dispatch란? : 컴파일 시점에 컴파일러가 어떤 클래스의 메소드를 실행해야하는지 알고 바이트코드로도 남는다. (참고로 메소드 오버로딩의 경우 static dispatch를 사용한다.) public class Dispatch{ public void run(){ System.out.println("run"); } public static void main(String[] args) { new Dispatch().run(); } } ※ Dynamic Dispatch란? : 컴파일 시점에선 어떤 메소드를 호출하는지 모른다. 추상 타입의 메소드를 호출하는것만 알고 있음. : 런타임 시점에 할당된 객체의 타입을 보고 메소드를 실행함. public class Dispatch{ static abs..