Java anotasyonları, kod üzerinde meta veriler sağlamak için kullanılan özel türlerdir. Anotasyonlar, kodun kendisini değiştirmez veya doğrudan çalıştırılmaz; derleyicilere, araçlara veya runtime (çalışma zamanı) sırasında uygulamalara bilgi verir. Kısacası, anotasyonlar bir çeşit "etiketleme" mekanizmasıdır.
@Retention
@Target
@Inherited
@Documented
Bir anotasyon, genellikle @ sembolüyle başlar ve bir sınıf, metod, değişken veya başka bir yapı üzerinde kullanılır.
@Override
public String toString() {
return "Bu bir anotasyon örneğidir.";
}
@Deprecated
public void eskiYontem() {
System.out.println("Bu yöntem artık kullanılmamalıdır.");
}
Java'da bazı yaygın olarak kullanılan yerleşik anotasyonlar şunlardır:
Bir metodun bir üst sınıfta tanımlı bir metodu geçersiz kıldığını belirtir.
@Override
public void run() {
System.out.println("Çalıştırılıyor.");
}
Bir sınıf, metod veya değişkenin artık kullanılmaması gerektiğini işaretler. Derleyici bir uyarı verecektir.
@Deprecated
public void eskiMetod() {
System.out.println("Bu metod eskidi.");
}
Derleyiciden gelen belirli uyarıları bastırır.
@SuppressWarnings("unchecked")
public void test() {
List liste = new ArrayList(); // Uyarı verilmez.
}
Bir arayüzün yalnızca bir soyut metoda sahip bir fonksiyonel arayüz olduğunu belirtir.
@FunctionalInterface
interface Hesapla {
int topla(int a, int b);
}
Varargs kullanımında, tür güvenliği konusunda derleyici uyarılarını bastırır.
@SafeVarargs
public final void ekle(T... elemanlar) {
// Güvenli varargs işlemleri
}
Java'da özel anotasyonlar oluşturabilirsiniz. Bunun için @interface anahtar kelimesi kullanılır.
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Test {
String bilgi() default "Bu bir test anotasyonudur.";
}
Kullanım
public class TestSinifi {
@Test(bilgi = "Örnek test metodu")
public void testMetodu() {
System.out.println("Test çalışıyor.");
}
}
Java anotasyonları, kodun anlamını ve işlevini zenginleştiren güçlü bir mekanizmadır. Hem yerleşik hem de özelleştirilebilir anotasyonlar ile kodun daha anlaşılır ve yönetilebilir olmasını sağlayabilirsiniz. Anotasyonlar, modern Java uygulamalarında (Spring, Hibernate gibi) yoğun şekilde kullanılmaktadır.
*Gönderi ve görsel chatgpt ile oluşturulmuştur.