こんにちは、エンジニアの永井雅人 (@nagai_masato) です。G* advent calendar の 17日目を GREE engineers' blog からお届けします。 dispatch ? オブジェクト指向言語の文脈でのディスパッチとは、同じ名前のサブルーチンをパラメタの型で動的に判定する呼び分けを指します。ディスパッチには大きく分けて マルチプルとシングルがあります。マルチプルはメッセージの全てのパラメタを対象にしますが、シングルはそのうちレシーバのみを対象とします。この記事では Java や最近の JVM 言語での対応状況を交えてディスパッチについて話したいと思います。 Java Java が対応しているのはシングルディスパッチです。イベントハンドラの例で説明します。今どきっぽくタッチイベントにしてみます。タッチイベント用のクラスのルートに TouchEvent が
![Multiple Dispatch in Modern JVM Languages | GREE Engineering](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1e492590b05d99d582af3d991fc8359db400498/height=288;version=1;width=512/https%3A%2F%2Flabs.gree.jp%2Fblog%2Fwp-content%2Fuploads%2F2019%2F03%2Fblog_ogp.jpg)