名前空間(namespace)とは、情報や関数名、クラス名などを区別するための区分けを定義する仕組みのことを指す。名前の集合全体を小さな空間に区切り、それぞれに異なる識別名を与えることで、その空間内では他の空間に含まれる名前の競合・衝突を意識しなくて良いようにしたもの。
様々な分野で利用されており、その定義や使い方は多岐に渡る。名前空間は、プログラミング分野でも広く用いられており、うまく活用することで、プログラムの保守性や拡張性を高めることが可能。