OBJECT-ORIENTED PROGRAMMING WITH KOTLIN EĞİTİMİ

Kotlin ile sağlam nesne tasarla

Sınıflar, kalıtım, arayüzler, SOLID ve tasarım desenlerini Kotlin deyimleriyle

Object-oriented Programming with Kotlin Eğitimi, nesne yönelimli programlamayı Kotlin deyimleriyle öğretir. Program sınıf ve kapsüllemeyi, kalıtım ve polimorfizmi, arayüz ve soyut sınıfı, data class, sealed class, object, companion object, delegation ve gener…

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

Eğitim Hakkında

Kapsüllemeden polimorfizme, SOLID ilkelerinden tasarım desenlerine kadar uygulamalı

Object-oriented Programming with Kotlin Eğitimi, nesne yönelimli programlamayı Kotlin deyimleriyle öğretir. Katılımcılar sınıf ve nesneyi, kapsülleme ve değişmezliği, kalıtım ve polimorfizmi uygulamalı kurar. data class, sealed class, object, companion object, delegation, generics ve genişletme fonksiyonları gibi yapılar ile SOLID ilkeleri ve sık kullanılan tasarım desenleri gerçek örnekler üzerinde işlenir. Amaç bakımı kolay, esnek ve okunur nesne modelleri tasarlamaktır.

Süre ve Format

4 Gün. Her gün dört modül; kısa kavram anlatımının ardından sınıf tasarımı, yeniden düzenleme ve küçük modelleme alıştırmalarıyla uygulamalı ilerler.

Seviye

Orta Seviye — Kotlin bilenlere nesne yönelimli tasarımı ve SOLID ile desenleri öğretir

Öğrenme Metodu

Her kavram çalışan Kotlin örnekleriyle gösterilir; katılımcılar sınıf hiyerarşisi tasarlar, kodu yeniden düzenler ve desenleri uygular.

Neden Bu Eğitim?

🧩Esnek ve açık tasarım

Kapsülleme ve soyutlamayı doğru kullanarak değişime açık, kırılmayan nesne modelleri tasarlarsınız.

🎯SOLID ile sürdürülebilirlik

Tek sorumluluk ve bağımlılığı tersine çevirme gibi ilkelerle bakımı kolay kod yazmayı öğrenirsiniz.

🚀Kotlin deyimsel gücü

data class, sealed ve delegation gibi yapılarla aynı işi daha az ve daha okunur kodla yaparsınız.

Anahtar Konular

kotlin oop eğitiminesne yönelimli programlamakotlin sınıfkotlin kalıtımsolid prensipleritasarım desenleri kotlindata classsealed classkotlin kursukotlin tasarım
“İyi nesne tasarımı daha fazla sınıf yazmak değil, her sınıfın tek ve net bir sebeple var olmasıdır. Kotlin bu netliği daha az kodla sunar.”

Ön Koşullar

Programdan verim almak için gereken temel Kotlin bilgisi ve ortam

1
Kotlin söz dizimi

Değişken, tip, fonksiyon ve kontrol akışı gibi temel Kotlin söz dizimine aşinalık gerekir.

2
Temel programlama

Döngü, koşul ve fonksiyonlarla küçük programlar yazabilecek düzeyde deneyim beklenir.

3
Null güvenliği

Kotlin'in nullable tipleri ve güvenli çağrı operatörleri hakkında temel bilgi faydalıdır.

4
Geliştirme ortamı

IntelliJ IDEA veya Android Studio kurulu, Kotlin derleyebilen bir çalışma ortamı gerekir.

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 ve nesne kavramını kurar, özellik ve erişim denetimini uygular, kurucuları doğru kullanır ve kapsülleme ile değişmezliğin faydasını kavrar.
Modül 1
Sınıf ve Nesne Temelleri
  • class anahtar sözcüğüyle sınıf tanımı ve örnekleme
  • Nesne durumu ve davranışının sorumluluk ayrımı
  • Birincil kurucu ve init bloğunun çalışma sırası
  • this referansı ve nesne kimliği kavramı
  • Sınıf ile nesne arasındaki ilişkinin netleştirilmesi
  • Tek sorumluluk için sınıfı küçük ve odaklı tutma
Modül 2
Özellikler ve Erişim Denetimi
  • val ile salt okunur, var ile değişebilir özellik tanımı
  • Özel get ve set erişimcileriyle davranış ekleme
  • backing field ile özellik değerini saklama
  • public, private, protected ve internal görünürlük
  • Hesaplanan özelliklerle türetilmiş değer sunma
  • lateinit ile sonradan atanan özellik yönetimi
Modül 3
Kurucular ve Nesne Oluşturma
  • Birincil kurucuda özellik bildirme kısayolu
  • İkincil kurucularla alternatif oluşturma yolları
  • init bloklarının tanımlanma sırasına göre çalışması
  • Varsayılan parametrelerle kurucu sayısını azaltma
  • Fabrika fonksiyonlarıyla nesne üretimini soyutlama
  • require ve check ile kurucu girdisini doğrulama
Modül 4
Kapsülleme ve Değişmezlik
  • İç durumu gizleyip davranışı arayüzle sunma
  • Değişmez nesnelerin eşzamanlılıkta getirdiği güven
  • copy ile değişmez nesnenin kontrollü değiştirilmesi
  • Değiştirilebilir koleksiyonu dışarıya salt okunur verme
  • Kapsüllemenin bakım ve hata ayıklamaya katkısı
  • Değişmezlikle yan etkileri azaltma yaklaşımı
Günün hedefiKatılımcı kalıtımı open ve override ile uygular, soyut sınıf ve arayüz ayrımını kavrar, polimorfizmden yararlanır ve Kotlin'e özgü OOP yapılarını kullanır.
Modül 1
Kalıtım ve open/override
  • Kotlin'de sınıfların varsayılan olarak final olması
  • open ile kalıtıma ve ezmeye izin verme
  • override ile üst sınıf üyesini yeniden tanımlama
  • super ile üst sınıf davranışına erişim
  • Kalıtım yerine bileşim tercihinin değerlendirilmesi
  • Derin hiyerarşinin getirdiği kırılganlık riski
Modül 2
Soyut Sınıflar ve Arayüzler
  • abstract ile tamamlanmamış sınıf ve üye tanımı
  • interface ile sözleşme ve çoklu uygulama
  • Arayüzde varsayılan metot gövdesi sağlama
  • Soyut sınıf ile arayüz arasında seçim ölçütleri
  • Birden çok arayüzü tek sınıfta uygulama
  • Çakışan varsayılan üyelerin açıkça çözümlenmesi
Modül 3
Polimorfizm ve Dinamik Bağlama
  • Üst tip referansıyla alt tip davranışını çağırma
  • Dinamik bağlamayla doğru ezilmiş metodun seçimi
  • is ve as ile tip denetimi ve akıllı dönüştürme
  • when ile tipe göre dallanma ve örüntü eşleme
  • Liskov yerine koyma ilkesinin pratik önemi
  • Polimorfizmle koşul kalabalığını azaltma
Modül 4
Kotlin Özel OOP Yapıları
  • data class ile equals, hashCode ve toString üretimi
  • data class destructuring ve copy davranışı
  • sealed class ile kapalı tip hiyerarşisi kurma
  • sealed ile when'in bütünlüğünü derleyiciye doğrulatma
  • enum class ile sabit küme ve davranış tanımı
  • Değer nesnelerini data class ile modelleme
Günün hedefiKatılımcı object ve companion object ile tekil nesneleri yönetir, delegation ve generics kullanır, genişletme ve operatör aşırı yüklemeyle deyimsel tasarım yapar.
Modül 1
object ve companion object
  • object ile tekil nesne ve durum paylaşımı
  • companion object ile sınıf düzeyi üyeler
  • Fabrika metodunu companion içinde tanımlama
  • Nesne ifadeleriyle anonim nesne oluşturma
  • Tekil nesnenin eşzamanlılıkta dikkat noktaları
  • const ve @JvmStatic ile birlikte çalışabilirlik
Modül 2
Delegation ve Tembel Değer
  • by ile arayüz uygulamasını başka nesneye devretme
  • Bileşimi delegation ile sade biçimde ifade etme
  • lazy ile ilk erişimde değer üretme
  • observable ve vetoable ile değişim izleme
  • map ile özellik değerini sözlükten okuma
  • Özel property delegate yazımının temelleri
Modül 3
Genel Tipler ve Değişkenlik
  • Generic sınıf ve fonksiyonlarla tip güvenli tasarım
  • out ile üretici konumunda kovaryans
  • in ile tüketici konumunda kontravaryans
  • Tip sınırları için where ve üst sınır kullanımı
  • reified ile çalışma zamanında tip bilgisi
  • Yıldız projeksiyonunun anlamı ve sınırı
Modül 4
Genişletme ve Operatör Aşırı Yükleme
  • Genişletme fonksiyonuyla mevcut tipe davranış ekleme
  • Genişletme özelliğiyle türetilmiş değer sunma
  • Genişletmelerin statik çözümlenme davranışı
  • operator fun ile plus ve get aşırı yüklemesi
  • invoke operatörüyle nesneyi fonksiyon gibi çağırma
  • Deyimsel ama ölçülü genişletme kullanımı
Günün hedefiKatılımcı SOLID ilkelerini Kotlin'de uygular, yaratımsal, yapısal ve davranışsal desenleri kullanır ve küçük bir alan modelini uçtan uca tasarlar.
Modül 1
SOLID İlkeleri Kotlin'de
  • Tek sorumluluk ilkesiyle sınıfları odaklı tutma
  • Açık-kapalı ilkesiyle değişime genişleyerek uyum
  • Liskov yerine koyma ile güvenli alt tipleme
  • Arayüz ayrımıyla geniş sözleşmeleri bölme
  • Bağımlılığı tersine çevirmeyle soyutlamaya bağlanma
  • İlkelerin aşırıya kaçmadan dengeli uygulanması
Modül 2
Yaratımsal Desenler
  • Factory Method ile nesne üretimini soyutlama
  • Abstract Factory ile ilişkili nesne aileleri
  • Builder deseniyle karmaşık nesneyi adım adım kurma
  • Kotlin'de apply ve DSL ile builder sadeleştirme
  • Singleton yerine object kullanımının avantajı
  • Prototype ve copy ile nesne çoğaltma
Modül 3
Yapısal ve Davranışsal Desenler
  • Adapter ile uyumsuz arayüzleri uyumlu kılma
  • Decorator ile davranışı sarmalayarak genişletme
  • Strategy ile algoritmayı dışarıdan değiştirme
  • Observer ile durum değişimini dinleyicilere bildirme
  • Fonksiyon tipleriyle Strategy'yi sadeleştirme
  • Desenleri gereğinden fazla kullanmama dengesi
Modül 4
Mini Proje: Alan Modeli Tasarımı
  • Gerçek bir alan için sınıf ve arayüz hiyerarşisi
  • sealed class ile durum ve sonuç modellemesi
  • Bağımlılıkları enjekte ederek test edilebilirlik
  • Değişmez değer nesneleriyle güvenli durum
  • Seçilen desenlerle sorumlulukları ayırma
  • Kodu okunabilirlik için yeniden düzenleme

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sağlam sınıf tasarımı

Özellik, kurucu ve kapsüllemeyi doğru kullanarak sorumluluğu net, bakımı kolay sınıflar tasarlarsınız.

✅
Kalıtım ve polimorfizm

open, override ve soyutlama ile kalıtımı doğru uygular, polimorfizmden güvenle yararlanırsınız.

✅
Arayüz tasarımı

Arayüz ve soyut sınıf arasında bilinçli seçim yaparak esnek ve genişletilebilir sözleşmeler kurarsınız.

✅
Kotlin OOP yapıları

data class, sealed class, object ve companion gibi yapıları yerinde kullanarak deyimsel kod yazarsınız.

✅
Delegation ve generics

by ile devretme ve generics ile tip güvenli tasarımı pratikte uygulayabilirsiniz.

✅
SOLID uygulaması

SOLID ilkelerini Kotlin kodunda uygulayarak değişime açık ve sürdürülebilir mimari kurarsınız.

✅
Tasarım desenleri

Factory, Builder, Strategy ve Observer gibi desenleri doğru bağlamda uygulayabilirsiniz.

✅
Alan modeli kurma

Gerçek bir alan için test edilebilir, değişmez ve okunur bir nesne modeli tasarlayabilirsiniz.

Kimler İçin Uygundur?

  • Kotlin söz dizimini bilen ancak nesne yönelimli tasarımı derinleştirmek isteyen geliştiriciler
  • Java'dan Kotlin'e geçenler
  • sağlam alan modeli ile sürdürülebilir kod yazmak isteyen yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Kotlin söz dizimini bilen ancak nesne yönelimli tasarımı derinleştirmek isteyen geliştiriciler, Java'dan Kotlin'e geçenler ve sürdürülebilir kod ile sağlam alan modeli kurmak isteyen yazılımcılar için uygundur. Temel programlama deneyimi beklenir.
Eğitimin süresi ve formatı nedir?
Eğitim dört gün sürer ve her gün dört modülden oluşur. Kısa kavram anlatımlarının ardından sınıf tasarımı, yeniden düzenleme ve küçük modelleme alıştırmalarıyla ilerler. Yüz yüze veya online yapılabilir ve kuruma göre uyarlanabilir.
Kotlin bilmek ön koşul mu?
Evet, temel Kotlin söz dizimi beklenir. Değişken, tip, fonksiyon ve kontrol akışını bilmek yeterlidir. Eğitim dilin sözdizimini değil, nesne yönelimli tasarımı ve Kotlin'in OOP yapılarını derinlemesine ele alır.
Tasarım desenleri de işleniyor mu?
Evet, son gün SOLID ilkeleri ile Factory, Builder, Adapter, Decorator, Strategy ve Observer gibi sık kullanılan desenler Kotlin'de uygulanır. Desenlerin ne zaman gerektiği ve aşırı kullanımdan kaçınma da vurgulanır.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve uygulamalı tasarım alıştırmalarını belgeler; kurumsal gruplara özel uyarlama yapılabilir.

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. Object-oriented Programming with Kotlin Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Android ve KotlinAndroid Debugging & Testing Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android Debugging & Testing Eğitimi

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

Logcat, Profiler, JUnit, MockK, Espresso ve Compose testleriyle Android hata ayıklama ve test eğitimi. Teşhisten CI otomasyonuna uygulamalı ve kurumsal.

Detayları Gör →
Android ve KotlinAndroid Internals Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android Internals Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

AOSP, Linux çekirdeği, Zygote, ART ve Binder ile Android işletim sisteminin iç yapısını derinlemesine inceleyen ileri düzey eğitim. Kurumsal ve uygulamalı.

Detayları Gör →
Android ve KotlinAndroid Mobil Uygulama Geliştirme (Gelişmiş Seviye) Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android Mobil Uygulama Geliştirme (Gelişmiş Seviye) Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Clean Architecture, Hilt, Coroutines Flow, Paging, test ve CI/CD ile üretim düzeyi Android geliştirmeyi öğreten ileri seviye ve kurumsal eğitim.

Detayları Gör →
Android ve KotlinAndroid Mobil Uygulama Geliştirme (Temel Seviye) Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android Mobil Uygulama Geliştirme (Temel Seviye) Eğitimi

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

Kotlin ve Android Studio ile sıfırdan ilk Android uygulamanızı geliştirin. Activity, arayüz, Intent ve liste konularıyla temel ve uygulamalı eğitim.

Detayları Gör →
Android ve KotlinAndroid Mobil Uygulama Geliştirme Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android Mobil Uygulama Geliştirme Eğitimi

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

Kotlin, ViewModel, Retrofit, Room ve Jetpack Compose ile uçtan uca Android uygulaması geliştirmeyi öğreten uygulamalı ve kurumsal eğitim programı.

Detayları Gör →
Android ve KotlinAndroid OS Overview Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Android OS Overview Eğitimi

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

Linux çekirdeği, ART, Binder, sistem servisleri, güvenlik modeli ve boot süreciyle Android işletim sistemi iç mimarisi eğitimi. Kurumsal ve uygulamalı.

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