列挙型
列挙型（れっきょがた、あるいは）とは、コンピュータプログラミングにおいて、プログラマが選んだ各々の識別子（列挙子）をそのまま有限集合として持つ抽象データ型である。列挙型は一般に、カードのスートのように番号順を持たないカテゴリ変数として使われるが、実際のコンパイル時あるいは実行時には、列挙型は整数で実装されることが多い。各々の識別子は通例異なる整数値を持つが、複数の識別子に対して意図的に同じ整数値を割り当てる（つまり別名を定義する）ことも可能である。
また列挙型は、整数を使用する場合と比較して、明示的にマジックナンバーを使用するよりもプログラムソースの可読性を改善するのに役立つ。言語によっては、列挙型の整数表現はプログラマに見えないようになっていることもあり、これによりプログラマが列挙値に対して算術演算を行うような乱用を防いでいる。列挙型の定数は同じ列挙型の変数にしか代入できない（整数型の変数に代入するには明示的な型変換などが必要）という仕様になっている言語もある。
プログラミング言語によっては、真偽値の論理型は、あらかじめ宣言された二値の列挙型とされている。
C言語では構造体および共用体のアナロジーとして、列挙体（）とも呼ばれる。