Java'da enum
(enumeration), sabit değerler kümesini temsil eden özel bir sınıf türüdür. enum
lar, belirli bir değişkenin alabileceği önceden tanımlanmış sabit değerleri ifade etmek için kullanılır ve Java 5.0 sürümüyle hayatımıza girmiştir¹.
enum
kullanımının avantajları şunlardır:
- Okunabilirlik: Kodun okunabilirliğini artırır, çünkü sayısal sabitler yerine anlamlı isimler kullanılabilir.
-
Tip Güvenliği:
enum
lar sayesinde, sadece belirli değerlerin atanmasına izin verilir, bu da hataları önlemeye yardımcı olur². -
Kod Organizasyonu: İlgili sabitler
enum
içinde gruplandırılarak daha düzenli bir kod yapısı oluşturulur³.
Enum Kullanımı:
Java'da enum
tanımlaması yapmak için enum
anahtar kelimesi kullanılır. Örneğin, bir trafik ışığı durumunu temsil eden bir enum
şu şekilde tanımlanabilir:
public enum TrafficLight {
RED, YELLOW, GREEN;
}
Bu enum
, RED
, YELLOW
ve GREEN
olmak üzere üç sabit değer içerir. Her bir enum
sabiti, TrafficLight
türünde bir örnektir.
enum
sabitlerine değer atayarak ve metotlar ekleyerek daha karmaşık enum
yapıları oluşturabiliriz:
public enum Month {
JANUARY(1), FEBRUARY(2), MARCH(3), // ...
DECEMBER(12);
private final int monthNumber;
Month(int monthNumber) {
this.monthNumber = monthNumber;
}
public int getMonthNumber() {
return monthNumber;
}
}
Bu örnekte, her Month
sabiti bir ayın numarasını temsil eder ve getMonthNumber()
metodu ile bu numaraya erişilebilir.
enum
lar ayrıca switch
ifadelerinde kullanılabilir, bu da kodun daha anlaşılır olmasını sağlar:
public class TestEnum {
public static void main(String[] args) {
TrafficLight light = TrafficLight.RED;
switch (light) {
case RED:
System.out.println("Dur!");
break;
case YELLOW:
System.out.println("Hazırlan!");
break;
case GREEN:
System.out.println("Geç!");
break;
}
}
}
enum
lar, Java'da sabit değerlerle çalışırken güçlü ve esnek bir araçtır.
Kaynak: Bing ile konuşma, 17.05.2024
(1) Java'da Enum Kavramı - Emre Çelen. https://emrecelen.com.tr/javada-enum-kavrami/.
(2) Java’da Enum Kavramı - İlker Yelekçioğlu - Medium. https://medium.com/@yelekciogluilker/javada-enum-kavramı-4606a8066e8f.
(3) Java Enum Tanımlama – Bilişim & Programlama. https://bing.com/search?q=java+enum+nedir.
(4) Java Enum Tanımlama – Bilişim & Programlama. https://www.algoritmaornekleri.com/java/java-enum-tanimlama/.
(5) Enumeration nedir ? | Koray PEKER. https://koraypeker.com/2018/12/01/enumeration-nedir/.