メッセージ転送
オブジェクトにセレクターで指定されたメソッドが存在しない場合「doesNotUnderstand:aMessage」が呼び出される。
純粋な(メッセージ指向の)オブジェクト指向言語において、メッセージ送信は比喩ではなく実在する機構である。メッセージは、セレクターと引数をオブジェクト等でひとまとまりにした値の塊であり、メッセージを受信したオブジェクトはメッセージを解析してメソッドの選択や起動を行う。ここで通常であれば、オブジェクトはメッセージに含まれるセレクターを元に自らが保有するメソッドを調べ、セレクターに一致するメソッドを起動する。しかし、セレクターに該当するメソッドが存在しなかった場合は、メッセージ処理用のメソッドにメッセージを転送し、プログラマによるメソッドの処理を試みるのである。