型推論（Type Inference）は、プログラミング言語において、変数や式の型を明示的に指定せずに、コンパイラやインタプリタがその型を推測する機能です。型推論により、プログラマはコードを簡潔に書くことができ、同時に型安全性を保証できます。  型推論は、静的型付け言語や動的型付け言語の両方で利用されますが、特に静的型付け言語でよく使用されます。静的型付け言語では、変数や関数の型がコンパイル時に決定されるため、型推論は型の冗長な指定を省略し、コードの可読性を向上させます。  型推論の機能は言語ごとに異なりますが、一般的には以下のような手法が使われます。