phone

+90 541 800 72 94

send

info@yesilbilisim.net

logo

Java Reflection Nedir?

schedule

2022-11-26

Reflection; classları, metodları, interfaceleri, fieldları, vb. özellikleri programımız çalışır haldeyken isimlerini bilmesek bile incelememize ve değiştirmemize yarayan bir Java özelliğidir.

reflection

Java’ya bu özellik 1997 yılında yayınlanan Java 1.1 sürümü ile gelmiştir (Yani benden yaşlı bir özellik…). Reflection; yaptığı işin öneminden, dinamik olmasından ve program çalışırken işini yapması sebebiyle çok güçlü bir yenilik olduğu düşünülüyordu.

Ayrıca bu özellik piyasaya sürüldüğü zamanlarda C,C++,Fortran ve Pascal gibi geleneksel programlama dillerinde bu özellik yoktu.

mrbean

Java Reflection Kullanımı?

Java Reflection’ı kullanabilmemiz için gerekli classları java.lang.reflect paketi altında toplamıştır.

kod 1

Verdiğimiz örnekte Dog classının sırasıyla fieldlarına, metodlarına, constructorlarına, extend edilmiş sınıfa ve implement edilmiş interfacelerine erişebiliyoruz.

kod 2

İnceleyebildiğimiz bu yapıların özelliklerine yine Reflection kütüphanesini kullanarak metodlar ile erişebiliyoruz.

kod 3

Ayrıca Reflection’ın invoke() ile metodu çağırabilir, newInstance() ile obje oluşturabilir ve setAccessible() ile field’ın modifikasyonunu değiştirebilirsiniz.

Böylece Reflection ile inspect/modify yapılış şekillerine örnek vermiş olduk.

Kaynakça:

© 2021 Yeşil Bilişim