Java - Method Dispatch

  • Method Dispatch는 해당 메서드가 언제 확정되는 때를 의미한다.

1. Static Method Dispatch (정적 메서드 디스패치)

  • 정적 메서드 디스패치는 컴파일 시에 어떤 메서드를 호출하는지 정해지는 메커니즘으로, 오버로딩 메서드가 이에 해당한다.

  • 오버로딩 메서드는 받는 매개변수가 다른 것 등으로 판단하므로 컴파일 시에 정해진다.

  • static 메서드 또한 마찬가지로 정적 메서드 디스패치에 속한다.

  • 정적 바인딩이라고도 한다.

  • 성능면에서 좋다. ( 추가적인 오버헤드가 없기 때문 )



2. Dynamic Method Dispatch (동적 메서드 디스패치)

  • 다이나믹 메서드 디스패치는 런타임시에 결정되는 메커니즘이다.

  • 오버라이딩 된 메서드가 이에 해당하는데, 그 이유는 해당 메서드가 어떤 구현체에서 오버라이딩 된 메서드인지가 런타임에서 결정되기 때문이다.

  • 동적 바인딩이라고도 한다.

  • 상속이 가능하다.






results matching ""

    No results matching ""