What you'll learn:
- Java ile nesne-merkezli ve fonksiyonel programlama.
Bu kursun amacı, katılımcının Java SE ile nesne-merkezli ve fonksiyonel programlama yetkinliklerini tamamlamak ve exceptions, collections, generics, modules ve ve fonksiyonel programlama tekniklerini kullanarak program geliştirebilmesini sağlamaktır. Bu eğitim Java diline giriş yapan ve yine Udemy'de yayınlanmış olan Java ile Nesne Merkezli Programlamaya Giriş’in devamıdır. Dolayısıyla bu eğitimin içeriğine hakim olmadan bu eğitimi almayın.
Bu eğitim Java'da en temel yordamsal (procedural) ve nesne-merkezli (object-oriented) yapılarının, enum ve miras (inheritance) da dahil olmak üzere bilindiğini varsayar. Bunlar üzerine bu kurs, çok şekillilik (polymorphism), soyut sınıflar (abstract classes) ve arayüzler (interfaces), iç sınıflar (nested/inner classes), modüller, sıra dışı durum yönetimi ve assertionları (exception management and assertions) bina eder. Sınıf tasarımı (class design) ile daha sağlıklı nesne-merkezli programlama nasıl yapılacağını ele alır. Sonrasında kurs fonksiyonel programlamaya (functional programming) giriş yapar ve Java'da fonksiyonel programlama ile lambda ifadelerini (lambda expressions) ele alır. Kurs torbalar ve genel yapılar (collections and generics) ile biter.
Şu an için eksik olan Modüller ve Genel Programlama (Generics) kursa eklenecektir.
Dolayısıyla kursun kazandıracağı yetkinlikler şunlardır:
Java’nın en ileri nesne-merkezli (object-oriented) özelliklerini kullanarak tasarımlar yapabilmek ve program yazabilmek.
Java’nın fonksiyonel (functional) özelliklerini kullanabilmek, lambda ifadelerini yazabilmek.
Sıra dışı durum ve assertion, modüller ve iç sınıfları öğrenerek daha yetkin programlar yazabilmek.
Torbalar ve genericsleri öğrenerek hem birden fazla neseyi yöneten hem de parametrik tipleri kullanan programlar yazabilmek.
Java'nın yeni sürümleri çıktıkça, ele alınan konularda yenilikler olursa, bu yenilikleri ele alan yeni bölümler eğitime eklenecektir.
Bu eğitim Oracle'ın Java sertifikalarına hazırlık olarak da alınabilir.
Kurs çok detaylıdır, konuları bildiğinizi düşünseniz bile, atlamadan ve sindirerek ilerleyin. Tüm örneklerini çalıştırın, oynayın, bozun, her şeyin nedenini anlayın ve tekrar çalışır hale getirin. Kendi örneklerinizi yazın, benzer teknikleri uygulayın, ödevleri muhakkak yapın. Ödevlerin çözümlerini de kod olarak paylaşacağım. Ayrıca bazı ödevlerin çözümlerini videolarda da bulacaksınız.
Eğitimin kaynak kodlarına hem Github üzerinden hem de Eclipse projesi olarak ulaşabilirsiniz. Github'da ayrıca PDF yansılar (slides) da var. (yansılarda zaman zaman sonradan yaptığım değişiklikleri de görebilirsiniz.) Bunun için 1. bölümün resourcelarına bakın.
Bu eğitim online canlı derslerle yapıldığı için sıklıkla katılımcı sorularına cevap verdiğimi göreceksiniz. Umarım bu durum eğitimden elde edeceğiniz faydayı arttırır.
Not: İlk derste instanceof operatörünün Java 15 ile gelen yeni kullanımı ele alınıyor. Bu eğitimi kaydederken Java 14 kullandığımdan bu özelliği ancak "preview feature" olarak kodda gösterebilmiştim. Ama artık Java 17 var ve siz de Java 17 kullanın ve bu kodlarda bir sıkıntı çekmeyin.