MODELING ENTITIES IN JAVA: STATIC MEMBERS, ARGUMENTS, & METHOD OVERRIDING EĞİTİMİ

static, argüman ve override tuzaklarını aşın

static üyeler, nested sınıflar, pass-by-value, savunmacı argüman yönetimi, override kuralları, dynamic dispatch ve javap incelemesi.

Java'da static üyeler, nested sınıflar, pass-by-value, savunmacı programlama, override kuralları ve dynamic dispatch konularını javap ve debugger ile derinlemesine öğrenin.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

static, argüman aktarımı ve method overriding derinlemesine

Eğitim, Java'da sıkça yanlış anlaşılan üç konuyu derinlemesine işler. static alan/metot/initializer davranışı, nested ve inner sınıflar, pass-by-value ve nesne referansı aktarımı, Objects.requireNonNull ve savunmacı kopya ile argüman güvenliği anlatılır. Method overriding kuralları (kovaryant dönüş, erişim daraltma yasağı, exception kısıtı), dinamik dispatch ve javap -c ile invokevirtual incelemesi yapılır. Static bağımlılıkların testte yarattığı sorunlar refaktör edilir.

Süre ve Format

2 Gün. Her gün dört modül; static Üyeler ve Argümanlar; Overriding ve Dinamik Çağrı ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Java'da static üyeler, iç içe sınıflar, argüman aktarımı, method overriding kuralları ve dinamik çağrı mekanizması.

Öğrenme Metodu

Her kural önce hatalı kodla gösterilir, derleyici ve çalışma zamanı davranışı javap ve debugger ile incelenir, ardından düzeltilip test edilir.

Neden Bu Eğitim?

🔧Kural Hâkimiyeti

Override ve static kurallarını ezber değil, JVM davranışı üzerinden öğrenirsiniz.

🛡️Güvenli Argümanlar

Savunmacı kopya ve doğrulama ile dışarıdan gelen veriye karşı dayanıklı API yazarsınız.

🔬Bytecode Gözlemi

javap ile çağrının nasıl çözümlendiğini görürsünüz.

Anahtar Konular

java staticjava method overridingjava pass by valuejava inner classjava dynamic dispatchjava javapjava covariant returnjava savunmacı programlamajava eğitimijava nested class
“Kuralı bilmek değil, JVM'in kuralı neden koyduğunu bilmek ustalıktır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Sınıfları

Sınıf, constructor ve kalıtım temel bilgisi gerekir.

2
JDK Araçları

javac ve javap komutlarının çalıştığı JDK 17+ kurulu olmalıdır.

3
IDE

Debugger kullanabileceğiniz bir IDE gerekir.

4
JUnit Aşinalığı

Basit JUnit testi yazma deneyimi faydalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı static ve nested yapıları doğru kullanır, argüman aktarımını güvenli tasarlar.
Modül 1
static Üyeler
  • static alan ve sınıf düzeyinde paylaşılan durum
  • static metot kısıtları: this ve örnek üyelere erişememe
  • static sabitler: static final ve sabit adlandırma
  • static initializer ve sınıf yükleme anı
  • Static import ve utility sınıf tasarımı
  • static değişkenin thread güvenliği ve test zorlukları
Modül 2
İç İçe Sınıflar
  • static nested class ve inner class farkı
  • Inner class'ın dış sınıf örneğine bağlılığı
  • Yerel (local) ve anonim sınıflar
  • Lambda ile anonim sınıf karşılaştırması
  • Outer.this ve bellek sızıntısı riski
  • Enum içinde alan ve metot tanımlama
Modül 3
Argüman Aktarımı
  • main(String[] args) ile komut satırı argümanları
  • Integer.parseInt ve hatalı argüman yönetimi
  • Nesne referansının metoda kopya olarak geçmesi
  • Metot içinde parametreye yeniden atamanın etkisizliği
  • Değişmez ve değişebilir argümanlar (String, List) farkı
  • Varargs ve dizi argüman dönüşümleri
Modül 4
Argümanlarla Savunmacı Programlama
  • Objects.requireNonNull ile null kontrolü
  • Koleksiyon argümanının savunmacı kopyası
  • List.copyOf ve Collections.unmodifiableList
  • Etkili final ve lambda yakalama
  • İsteğe bağlı parametre için Optional kullanım tartışması
  • Argüman doğrulamada IllegalArgumentException standardı
Günün hedefiKatılımcı override kurallarını uygular, dinamik çağrıyı bytecode ile açıklar, static bağımlılığı refaktör eder.
Modül 1
Method Overriding Kuralları
  • @Override ile derleyici denetimi
  • İmza eşleşmesi ve kovaryant dönüş tipi
  • Erişimin daraltılamaması kuralı
  • Fırlatılan checked exception kısıtı
  • final metotların ezilememesi
  • static metotlarda overriding yerine gizleme (hiding)
Modül 2
Dinamik Metot Çağrısı
  • Derleme zamanı tipi ile çalışma zamanı tipi
  • Sanal metot çağrısı (virtual dispatch) mantığı
  • super.metot() ile üst sınıf davranışını çağırma
  • Alanların override edilmemesi, yalnızca gizlenmesi
  • javap -c ile invokevirtual bytecode incelemesi
  • toString ve equals override örnekleri
Modül 3
Override Davranışını Test Etme
  • Üst sınıf referansıyla alt sınıf nesnesi testi
  • Şablon metot (Template Method) deseni uygulaması
  • Yanlış override (imza hatası) vakalarının yakalanması
  • JUnit ile çok biçimli davranış doğrulama
  • Mockito spy ile üst sınıf çağrısı kontrolü
  • Kod incelemede override kontrol listesi
Modül 4
static Kullanımının Testi ve Refaktörü
  • Global durum sızıntısı ve testler arası bağımlılık
  • Static metotları örnek üyelere taşıma
  • Dependency injection ile static bağımlılık azaltma
  • Clock ve Supplier ile static zaman bağımlılığı çözümü
  • Statik sayaç ve ID üretici örneği refaktörü
  • Test izolasyonu için @BeforeEach sıfırlama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
static Davranışı

static alan, metot ve initializer çalışma anlarını açıklayabilirsiniz.

🧩
Nested Sınıflar

Inner ve static nested sınıf arasında doğru tercih yapabilirsiniz.

⚙
Pass-by-Value

Nesne referansı aktarımının sonuçlarını doğru öngörebilirsiniz.

️
Savunmacı Kopya

Argüman ve alanları defensive copy ile koruyabilirsiniz.

🔍
Override Kuralları

Kovaryant dönüş ve erişim kurallarına uygun override yazabilirsiniz.

🛠
Dynamic Dispatch

Çalışma zamanı metot seçimini javap çıktısıyla açıklayabilirsiniz.

️
Static Refaktörü

Statik bağımlılıkları DI ile test edilebilir hale getirebilirsiniz.

🧪
Kod İnceleme

Override ve static hatalarını kod incelemede yakalayabilirsiniz.

Kimler İçin Uygundur?

  • Temel Java ve sınıf bilgisi olan
  • kalıtım
  • static kullanımındaki hataları anlamak isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Temel Java ve sınıf bilgisi olan, kalıtım ve static kullanımındaki hataları anlamak isteyen geliştiriciler için uygundur.
Java'da gerçekten pass-by-reference var mı?
Hayır. Java her zaman değeri kopyalar; nesnelerde kopyalanan değer referanstır. Eğitimde bu fark kod örnekleriyle gösterilir.
static metot override edilebilir mi?
Edilemez, yalnızca gizlenir (hiding). Eğitimde sonucun dinamik çağrıdan nasıl ayrıldığı çalıştırılarak incelenir.
javap kullanımı zor mu?
Hayır, yalnızca ilgili birkaç bytecode komutu okunur ve adım adım anlatılır.
Eğitim sonunda sertifika verilir mi?
Katılım ve değerlendirme sonrasında Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Modeling Entities in Java: Static Members, Arguments, & Meth Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava Messaging Service (JMS) Eğitimi
Yazılım Geliştirme Eğitimleri

Java Messaging Service (JMS) Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java Messaging Service (JMS) eğitimi: jMS ile kuyruk tabanlı entegrasyon. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava Mikrohizmetler Eğitimi
Yazılım Geliştirme Eğitimleri

Java Mikrohizmetler Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Java Mikrohizmetler eğitimi: spring Boot ile uygulamalı mikrohizmet geliştirme. 3 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava Native ve Mikrohizmet Geliştirimi için Quarkus Eğitimi
Yazılım Geliştirme Eğitimleri

Java Native ve Mikrohizmet Geliştirimi için Quarkus Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Java Native ve Mikrohizmet Geliştirimi için Quarkus eğitimi: quarkus ile bulut yerlisi ve native Java. Uygulamalı 3 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava OOP: Access Modifiers for Regulating Access Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Access Modifiers for Regulating Access Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java OOP: Access Modifiers for Regulating Access eğitimi: erişim belirleyicileriyle güvenli sınıf tasarımı. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava OOP: Interfaces & Anonymous Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Interfaces & Anonymous Classes Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java OOP: Interfaces & Anonymous Classes eğitimi: arayüz tabanlı tasarım ve anonim sınıflar. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn