Enum (pl. typ wyliczeniowy) – typ danych składający się z zestawu nazwanych stałych (moduły wyliczające).
Przykładem typu wyliczeniowego mogą być pory roku, gdzie dozwolone wartości to tylko WIOSNA, LATO, JESIEN i ZIMA.
Typy wyliczeniowe są stosowane między innymi w takich językach programowania jak:
- Java
- C
- C#
- C++
W zależności od języka programowania implementacja typu wyliczeniowego może się różnić.
Niektóre typy modułów wyliczających mogą być wbudowane w język. Na przykład typ Boolean jest często wstępnie zdefiniowanym wyliczeniem wartości False i True. Wiele języków umożliwia użytkownikom definiowanie nowych typów wyliczeniowych.
Użycie wyliczeń zwiększa poziom abstrakcji i pozwala programiście zastanowić się, co oznaczają wartości, zamiast martwić się o to, jak są one przechowywane i jaka jest ich dostępność. Wyliczenia zmniejszają występowanie błędów.