Skip to content

Faz 2 – Programlama Nesne Yönelimli (2–3 ay)

Sınıflar, Nesneler, Öznitelikler ve Metotlar

  • Sınıf yapısı
  • Nesne oluşturma
  • this kullanımı
  • En iyi uygulamalar: isimlendirme, kod organizasyonu

Kapsülleme, Kalıtım, Çok Biçimlilik ve Soyutlama

  • Encapsulation: private, getters/setters, doğrulama
  • Inheritance: extends, overriding (@Override)
  • Polymorphism: alt tip, method overloading
  • Abstraction: genel bakış, arayüzler ve soyut sınıflar için hazırlık

Arayüzler ve Soyut Sınıflar

  • Interfaces: implements, default methods
  • Abstract classes: soyut ve somut metotlar
  • Arayüz ve soyut sınıf arasındaki farklar

Kurucular, Başlatıcılar ve Statik Bloklar

  • Varsayılan ve parametreli kurucular, this() ile çağrılar
  • Başlatma blokları ({}) ve statik bloklar (static {})

Sabitler (Enumerations)

  • enum oluşturma ve kullanma
  • Enum’larda metotlar ve öznitelikler

Temel Koleksiyonlar

  • ArrayList: ekleme, kaldırma, yineleme (for, forEach, Iterator)
  • HashMap: anahtar-değer, yaygın işlemler
  • HashSet: yinelenenleri eleme
  • Queue ve Stack’e giriş (ör. LinkedList queue/stack olarak)
  • Java Collections Framework’e giriş

Temel Algoritmalar

  • Doğrusal ve ikili arama
  • Sorting: Bubble Sort, Collections.sort()
  • Recursion: kavramlar ve basit örnekler (ör. faktöriyel, Fibonacci)
  • Karmaşıklığa giriş (O(n), O(log n))

Jenerikler (Generics)

  • Sözdizimi (), jenerik koleksiyonlar, jenerik metotlar
  • Sınırlar (extends, super)

Stream API (Giriş)

  • Temel işlemler: filter, map, collect
  • ArrayList ile örnekler

Birim Testi (Giriş)

  • JUnit’in temel kullanımı
  • Sınıflar ve metotlar için test senaryoları yazma
  • TDD’ye giriş (Test-Driven Development)

Final Projesi

  • Kütüphane Sistemi
  • Sınıflar: Book, User, Library
  • Kalıtım: DigitalBook ve PhysicalBook
  • Koleksiyonlar: Kitaplar için ArrayList, ödünçler için HashMap
  • Kapsülleme: veri doğrulama
  • Git: özellik başına commit (ör. feature/book-management)
  • Açıklayıcı README ile GitHub’da yayınla

Güncellenmiş Kaynaklar