関数へのポインタ
そのため、関数オブジェクトはデータを保持でき、クロージャを再現することもできる。ゆえに、関数オブジェクトは、「関数へのポインタ」ではなく「関数」という型と値を持つようなものと言え、より強力である。
C#やVisual Basic .NETなどといった.NET Framework用の言語には、メソッドを参照する型として、デリゲートがある。P/Invokeなどの.NET相互運用において、デリゲートは関数へのポインタにマーシャリングされる。
Javaはバージョン8でメソッド参照を導入し、関数ポインタやデリゲート類似の機能を利用できるようになったが、バージョン7まではメソッド参照を持たず、代替としてメソッドを1つだけ持つインタフェースを利用して同等機能を実現する必要がある。
第一級オブジェクトとして関数を使用できる(第一級関数がある)言語では、関数も引数で渡したり、戻り値で返したり、他の関数から動的に作成したりできるなどデータ同様に扱えるため、関数へのポインタは必要とされない。