列挙型 【enumeration type】 enum / 集合型 / set type
概要
列挙型(enumeration type)とは、プログラミング言語やデータベース管理システムなどにおけるデータ型の一つで、複数の異なる定数を一つの集合として定義するもの。多くの言語では “enum” の略号で示される。範囲や選択肢が限定されているデータを扱う場合、整数などに対応付けて記述することがよくあるが、コード中に値を直に記述する(マジックナンバーと呼ばれる)と、値と内容の対応関係が分かりにくく、後から追加や変更を行うことも難しくなる。
そのような場合、列挙型を用いて各定数をその内容を表すシンボル名を列挙して定義し、コード中にはシンボルを記すようにすることで、コードの見通しが良くなる。
例えば、曜日を表す定数を整数を用いて、0が日曜日、1が月曜日…6が土曜日のように管理するより、“Sun”、“Mon”…“Sat”といった定数名で構成される列挙型のデータを定義すれば、各定数が何を意味しているのか分かりやすくなる。
各定数の値の扱いは言語によって異なるが、定義順に順番に大きくなる整数を処理系が自動的に設定してくれる場合が多い。コード中で値を参照したり比較したりできるかも言語によって異なり、値を整数としてそのまま使用できるものと、直に参照できないが整数型などへ変換が可能なもの、値を参照することはできないものがある。定義時に対応する値を明示的に定義できる言語もある。
(2020.5.11更新)