MODELING ENTITIES IN JAVA: DEFINING CUSTOM CLASSES & OBJECTS EĞİTİMİ

Kendi Java sınıflarınızı doğru tasarlayın

Sınıf anatomisi, kapsülleme, nesne referansları, stack-heap modeli, equals/hashCode, immutable sınıflar ve record.

Java'da kendi sınıflarınızı tasarlamayı öğrenin: kapsülleme, nesne referansları, stack-heap modeli, equals/hashCode, immutable sınıflar, record ve JUnit 5 doğrulaması.

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

Eğitim Hakkında

Özel sınıf ve nesne tasarımı: Java'da varlıkları modellemek

Eğitim, Java'da gerçek iş varlıklarını (müşteri, sipariş, ürün) sınıf olarak modellemeyi öğretir. Sınıf anatomisi, private alanlar ve getter/setter ile kapsülleme, new ile nesne yaratma, referans ve null kavramları, stack-heap bellek modeli işlenir. equals/hashCode/toString sözleşmeleri, defensive copy ile immutable sınıflar ve Java 16+ record yapısı uygulanır. JUnit 5 ile yazılan testlerle her sınıfın davranışı doğrulanır.

Süre ve Format

2 Gün. Her gün dört modül; Sınıf ve Nesne Temelleri; Domain Sınıfı Tasarımı ekseninde ilerleyen uygulamalı program.

Seviye

Temel Seviye — Java'da kendi domain sınıflarınızı tasarlama: alan, kapsülleme, equals/hashCode, record ve nesne bellek modeli.

Öğrenme Metodu

Her konu IntelliJ IDEA'da küçük domain sınıfları yazılarak, JUnit testleriyle doğrulanarak ve bellek davranışı gözlemlenerek işlenir.

Neden Bu Eğitim?

🧱Sağlam Sınıf Tasarımı

Kapsülleme ve doğrulama ile hataya dayanıklı domain sınıfları yazarsınız.

🔍Bellek Farkındalığı

Referans, heap ve stack ayrımını bilerek NullPointerException kaynaklarını önceden görürsünüz.

🧪Test Edilebilirlik

equals/hashCode ve record kullanımıyla testi kolay nesneler üretirsiniz.

Anahtar Konular

java sınıf ve nesnejava özel sınıf tanımlamajava kapsüllemejava equals hashcodejava recordjava stack heapjava domain modellemejava nesne yönelimli programlamajava eğitimiJUnit 5
“İyi bir sınıf, veriyi ve o veriyi koruyan kuralları birlikte taşır.”

Ön Koşullar

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

1
Temel Java

Değişken, if/for döngüsü ve metot çağırma bilgisi gerekir.

2
JDK 17+

Bilgisayarda JDK 17 veya üzeri kurulu olmalıdır.

3
IDE

IntelliJ IDEA veya Eclipse kurulumu önerilir.

4
Maven

Maven ile proje oluşturma konusunda temel bilgi 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ı sınıf yapısını, kapsüllemeyi ve nesne-bellek ilişkisini açıklayarak çalışan bir sınıf yazar.
Modül 1
Sınıfın Anatomisi
  • class bildirimi, dosya adı kuralı ve paket (package) yapısı
  • Alan (field), metot ve constructor üyelerinin sınıf içindeki yerleşimi
  • Erişim belirleyicilerin (public, private) ilk bakışta etkisi
  • javac ile derleme, java komutuyla çalıştırma ve .class dosyası
  • Sınıf ile nesne ayrımı: şablon ve örnek (instance) kavramı
  • IntelliJ IDEA ve Maven ile ilk sınıfı oluşturma
Modül 2
Alanlar ve Kapsülleme
  • private alanlar ve public getter/setter ikilisi
  • Alanlara varsayılan değerler: 0, false, null kuralları
  • Setter içinde doğrulama ve IllegalArgumentException fırlatma
  • final alanlar ve salt okunur durum yönetimi
  • Kapsüllemenin ihlal edildiği örneklerin (public alan) refaktörü
  • IDE ile getter/setter üretimi ve Lombok farkı
Modül 3
Nesne Oluşturma ve Referanslar
  • new operatörü ile heap üzerinde nesne tahsisi
  • Referans değişkeni ile nesne arasındaki fark
  • Aynı nesneye birden fazla referans ve takma ad (aliasing) etkisi
  • null referans ve NullPointerException'ın nedenleri
  • == ile equals() karşılaştırmasının farkı
  • Garbage collector ve erişilemeyen nesnelerin temizlenmesi
Modül 4
Stack ve Heap Bellek Modeli
  • Metot çağrısında stack frame oluşumu ve yerel değişkenler
  • Primitive tipler ile referans tiplerinin bellekteki yeri
  • Nesne alanlarının heap'te yerleşimi ve nesne başlığı
  • String pool ve intern() davranışı
  • jcmd ve jmap ile basit heap incelemesi
  • StackOverflowError ve OutOfMemoryError senaryoları
Günün hedefiKatılımcı equals/hashCode uyumlu, değişmez ve testle doğrulanmış domain sınıfları tasarlar.
Modül 1
Domain Sınıfı Tasarımı
  • Müşteri, Sipariş ve Ürün gibi domain sınıflarının modellenmesi
  • Alan tipi seçimi: BigDecimal, LocalDate, enum kullanımı
  • İş kuralı içeren metotlar ile veri taşıyan sınıfların ayrımı
  • Varsayılan ve parametreli constructor stratejisi
  • Bean Validation (jakarta.validation) ile alan kısıtları
  • Sınıf diyagramından (UML) koda dönüşüm
Modül 2
equals, hashCode ve toString
  • Object sınıfından gelen varsayılan equals/hashCode davranışı
  • equals sözleşmesi: yansıma, simetri, geçişlilik, tutarlılık
  • hashCode ile HashMap/HashSet kovasının ilişkisi
  • Objects.equals ve Objects.hash yardımcıları
  • toString ile okunabilir log çıktısı üretme
  • equals/hashCode hatalarının koleksiyonlarda yarattığı kayıp kayıtlar
Modül 3
Değişmez Sınıflar ve record
  • Değişmez (immutable) sınıf kuralları: final sınıf, final alanlar
  • Savunmacı kopya (defensive copy) ile List alanlarının korunması
  • Java 16+ record bildirimi ve otomatik üyeler
  • Compact constructor ile record içinde doğrulama
  • record ile sınıf arasında tercih kriterleri
  • Thread güvenliği açısından değişmezliğin faydası
Modül 4
Paketler ve JUnit ile Doğrulama
  • Paket adlandırma (ters alan adı) ve dizin eşleşmesi
  • import, static import ve ad çakışmalarının çözümü
  • JUnit 5 ile @Test ve assertEquals/assertThrows yazımı
  • @BeforeEach ile nesne hazırlığı
  • Parametrik testler (@ParameterizedTest) ile sınır değerler
  • Maven surefire ile testleri komut satırında çalıştırma

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sınıf Yazımı

Alan, metot ve constructor içeren sınıfları doğru yapıyla yazabilirsiniz.

🧩
Kapsülleme

Alanları private tutup doğrulamalı setter ile koruyabilirsiniz.

⚙
Referans Yönetimi

Referans, null ve takma ad davranışını doğru yorumlayabilirsiniz.

️
Bellek Modeli

Stack ve heap ayrımını açıklayıp OOM/StackOverflow nedenlerini bulabilirsiniz.

🔍
equals/hashCode

Sözleşmeye uygun karşılaştırma metotları yazabilirsiniz.

🛠
Immutable Tasarım

Defensive copy ile değişmez sınıflar oluşturabilirsiniz.

️
record Kullanımı

record ile veri taşıyıcı sınıfları kısa ve güvenli tanımlayabilirsiniz.

🧪
Birim Test

JUnit 5 ile sınıf davranışlarını otomatik doğrulayabilirsiniz.

Kimler İçin Uygundur?

  • Java'ya yeni başlamış yazılım geliştiriciler
  • bilgisayar mühendisliği öğrencileri
  • başka dilden Java'ya geçenler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java'ya yeni başlamış yazılım geliştiriciler, bilgisayar mühendisliği öğrencileri ve başka dilden Java'ya geçenler için uygundur.
Java record ne zaman tercih edilmeli?
Yalnızca veri taşıyan ve değişmez olması istenen yapılarda record kullanılır; davranış ve kalıtım gerektiğinde klasik sınıf seçilir.
equals yazınca hashCode da zorunlu mu?
Evet. İkisi tutarsız olursa HashMap ve HashSet içinde nesneler bulunamaz; eğitimde bu hata canlı gösterilir.
Eğitimde hangi Java sürümü kullanılır?
JDK 17 ve üzeri kullanılır; record gibi modern yapılar bu sürümle uygulanı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: Defining Custom Classes & Objects Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMAPI Geliştirme ve Testi Java (Jersey) Kullanarak Eğitimi
Yazılım Geliştirme Eğitimleri

API Geliştirme ve Testi Java (Jersey) Kullanarak Eğitimi

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

Jersey ile REST API geliştirme ve test eğitimi: JAX-RS, Jackson JSON, ExceptionMapper, filtreler, JWT güvenliği, JerseyTest, REST Assured ve Postman/Newman.

Detayları Gör →
Java ve JVMArchitect Enterprise Applications with Java EE Eğitimi
Yazılım Geliştirme Eğitimleri

Architect Enterprise Applications with Java EE Eğitimi

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

Java EE (Jakarta EE) kurumsal mimari eğitimi: CDI, JPA/JTA, EJB, JAX-RS, JMS, güvenlik, MicroProfile ve Docker ile katmanlı uygulama tasarımı.

Detayları Gör →
Java ve JVMBack-end Apps : Java Persistence Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps : Java Persistence Eğitimi

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

Java Persistence (JPA) eğitimi: entity eşleme, EntityManager, JPQL, OneToMany/ManyToMany ilişkiler, cascade, lazy loading ve transaction yönetimi.

Detayları Gör →
Java ve JVMBack-end Apps: Java Message Service (JMS) Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: Java Message Service (JMS) Eğitimi

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

Java Message Service (JMS) eğitimi: Queue/Topic, JMS 2.0 JMSContext, mesaj türleri, selector, kalıcı abonelik, Message-Driven Bean, transaction ve DLQ.

Detayları Gör →
Java ve JVMBack-end Apps: JNDI & EJB Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: JNDI & EJB Eğitimi

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

JNDI ve EJB eğitimi: InitialContext, java:comp/env, Stateless/Stateful/Singleton bean, container-managed transaction, TimerService ve uzaktan EJB çağrısı.

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