En programación, un enum, abreviatura de tipo enumerado, es un tipo de datos definido por el usuario que consiste en un conjunto de valores con nombre llamados enumeradores. En lugar de utilizar un número entero para representar un conjunto de valores, se utiliza un tipo con un conjunto restringido de valores. El uso de enums aumenta el nivel de abstracción y permite al programador centrarse en el significado del valor en lugar de su almacenamiento y accesibilidad. Esto, a su vez, reduce los bugs.
Imagina los cuatro palos en solitario: tacos, diamantes, corazones y espadas, son cuatro enumeradores, pertenecen al tipo de enumeración llamado palos. Si declara la variable V usando el tipo de datos del traje, puedes asignarle cualquiera de estos cuatro valores (cubo, diamante, corazón y espada) …
Valores y variables de un enum se integran como cadenas de bits de longitud fija que a la vez son compatibles en formato y tamaño con algún tipo entero. Considerando la teoría de tipos, los enums se toman como uniones etiquetadas de tipos unitarios. Pascal, Java y C#, están entre los lenguajes de programación que hacen uso de enums.
Beneficios del Enum
Los Enums proporcionan los siguientes beneficios:
- Son una constante en lugar de un número, lo que aumenta la legibilidad del código fuente.
- Proporcionan seguridad de tipo en tiempo de compilación y evitan la comparación de constantes en diferentes enums. Un argumento de función, un tipo de retorno, un miembro de clase o una variable local pueden declararse como un tipo enum y el compilador aplicará la seguridad de tipos.
- Los Enums agrupan cosas en un conjunto.
- En Java, la enumeración puede ser utilizada como un singleton. Un tipo enum de un solo elemento se considera una de las mejores formas de implementar un singleton.