Kotlin ile Android Programlama: Temel Yapılar ve Dil Özellikleri

ibrahimcanerdogan
4 min readOct 26, 2024

--

Photo by Stanley Dai on Unsplash

Kotlin, Android uygulama geliştirme sürecini daha kolay ve modern hale getiren bir programlama dilidir. Google tarafından resmi Android geliştirme dili olarak kabul edilen Kotlin, Android Studio’da Java ile tamamen uyumlu çalışır ve uygulama geliştiriciler için güçlü bir alternatif sunar. Bu makalede Kotlin’in temel yapıları ve Android geliştirme sürecinde sıkça kullanılan dil özelliklerini ele alacağız.

➡️ Jetpack Compose: İleri Seviye Uygulama Geliştirme Rehberi 🚀

➡️ Android App Development with Google MLKIT 🚀

➡️ Kotlin Interview Bootcamp: From Zero to Android Mastery 2024 🚀

➡️ Türk Hava Yolları Uçuş Asistanı | Kotlin Android Geliştirme 🚀

1. Kotlin Nedir?

Kotlin, JetBrains tarafından geliştirilen ve JVM üzerinde çalışan modern, açık kaynaklı bir programlama dilidir. Kotlin’in en büyük avantajı, Java ile %100 uyumlu olmasıdır; bu sayede mevcut Android projelerine kolayca entegre edilebilir. Kotlin, daha az kod yazarak daha güvenli ve işlevsel çözümler oluşturmayı hedefler.

2. Kotlin ile Android Geliştirmenin Avantajları

Kotlin, Android uygulama geliştirmede çok sayıda avantaj sunar:

  • Kısa ve Anlaşılır Kod: Kotlin, Java’ya kıyasla daha az kodla aynı işlemi gerçekleştirebilir. Bu da kodun daha okunabilir ve bakımı kolay hale gelmesini sağlar.
  • Güçlü Null Güvenliği: Kotlin, “null güvenliği” sayesinde NullPointerException hatalarını önlemeye yardımcı olur.
  • Fonksiyonel Programlama: Kotlin, lambda ifadeleri ve yüksek mertebeden fonksiyonlar gibi fonksiyonel programlama özelliklerini destekler.
  • Tam Java Uyumluluğu: Mevcut Java projelerine kolayca entegre edilebilir, böylece kodu yeniden yazmak zorunda kalmadan Kotlin kullanmaya başlayabilirsiniz.

3. Temel Kotlin Yapıları

Kotlin ile Android geliştirme sürecine başlamak için bazı temel dil yapılarını ve özelliklerini bilmek faydalı olacaktır.

a. Değişken Tanımlama: val ve var

Kotlin’de değişkenler val ve var anahtar kelimeleri ile tanımlanır.

  • val: Değişkenin yalnızca bir kez atanabileceği, sabit bir değerdir. Java’daki final anahtar kelimesine benzer.
  • var: Değişkenin değeri değiştirilebilir.
val name = "Android Developer" // Değişmez
var age = 25 // Değiştirilebilir
age = 26 // age değişkeninin yeni değeri atanır

b. Veri Türleri

Kotlin, tam sayı (Int), ondalık sayı (Double), karakter (Char), metin (String), ve Boolean (Boolean) gibi çeşitli temel veri türlerini destekler. Değişkenin türü, ilk atamada otomatik olarak belirlenebilir veya açıkça belirtilebilir.

val age: Int = 25
val price: Double = 99.99
val isActive: Boolean = true
val initial: Char = 'A'
val name: String = "Kotlin"

c. Null Güvenliği ve Nullable Değişkenler

Kotlin, değişkenlerin null olup olmadığını kontrol etmeyi zorunlu kılar. Eğer bir değişkenin null değer alabilmesini istiyorsanız, veri türünün sonuna ? işareti ekleyebilirsiniz.

val nonNullable: String = "Hello"
// nonNullable = null // Hata verir
val nullable: String? = null // Bu kabul edilir

Null güvenliği sağlamak için ?. veya ?: operatörleri kullanılabilir.

val length = nullable?.length ?: 0 // Null değilse uzunluğu al, null ise 0 ata

4. Fonksiyon Tanımlama

Kotlin’de fonksiyonlar fun anahtar kelimesiyle tanımlanır ve geri dönüş türü : işaretiyle belirtilir.

fun greet(name: String): String {
return "Hello, $name!"
}

Basit bir işlem için tek satırlık bir fonksiyon yazabilirsiniz:

fun add(a: Int, b: Int) = a + b

5. Koşullu İfadeler: if, when

Kotlin’de if yapısı hem ifade hem de fonksiyon olarak kullanılabilir.

val max = if (a > b) a else b

Daha karmaşık durumlar için when yapısı tercih edilir.

val result = when (score) {
in 90..100 -> "Excellent"
in 70..89 -> "Good"
in 50..69 -> "Average"
else -> "Fail"
}

6. Koleksiyonlar: List, Set, Map

Kotlin, veri saklama ve yönetme için kullanışlı koleksiyon sınıfları sunar.

  • List: Sıralı ve tekrarlı veriler için.
  • Set: Benzersiz veriler için.
  • Map: Anahtar-değer çiftleri için.
val names = listOf("Alice", "Bob", "Carol") // Sabit bir liste
val mutableNames = mutableListOf("Alice", "Bob") // Değiştirilebilir liste
mutableNames.add("Carol")

7. Nesne Yönelimli Programlama (OOP) Özellikleri

Kotlin, sınıflar, kalıtım, arayüzler ve veri sınıfları (data class) gibi nesne yönelimli programlama özelliklerini destekler.

a. Sınıf Tanımlama ve Constructor Kullanımı

Kotlin’de sınıflar class anahtar kelimesiyle tanımlanır ve ana yapıcı (primary constructor) sınıf tanımına dahil edilebilir.

class Person(val name: String, var age: Int)

b. Data Classes (Veri Sınıfları)

Veri sınıfları, veri saklamak için özel olarak kullanılan sınıflardır. data anahtar kelimesi ile tanımlanır.

data class User(val id: Int, val name: String)

c. Kalıtım ve Arayüzler

Kotlin’de sınıflar varsayılan olarak final olduğu için, başka bir sınıfın miras alabilmesi için open olarak işaretlenmelidir.

open class Animal(val name: String)
class Dog(name: String) : Animal(name)

8. Lambda İfadeleri ve Yüksek Mertebeden Fonksiyonlar

Kotlin, lambda ifadeleri ve yüksek mertebeden fonksiyonlar gibi fonksiyonel programlama özelliklerine sahiptir. Lambda ifadeleri, anonim fonksiyonlar oluşturmaya imkan tanır.

val sum = { a: Int, b: Int -> a + b }
println(sum(3, 4)) // Çıktı: 7

9. Kotlin ve Android Geliştirme: Jetpack ve UI

Kotlin, Android Jetpack bileşenleri ile güçlü bir entegrasyona sahiptir. Jetpack’in sağladığı ViewModel, LiveData ve Navigation gibi bileşenler, Kotlin ile daha işlevsel ve sürdürülebilir uygulamalar geliştirmeyi kolaylaştırır.

Ayrıca, Jetpack Compose sayesinde Kotlin ile tamamen programatik bir arayüz tasarımı yapabilirsiniz. Bu modern UI araçları, Android arayüz geliştirmede Kotlin’i daha güçlü hale getirir.

10. Kotlin ile Android Projelerine Başlamak

Android Studio ile yeni bir proje açarak Kotlin’i Android geliştirme sürecinde deneyimleyebilirsiniz. İlk adım olarak bir “Empty Activity” projesi oluşturup Kotlin dilini seçerek işe başlayabilirsiniz. Temel dil özellikleri ve yapıları öğrendikçe daha karmaşık projeler geliştirebilirsiniz.

Kotlin, Android uygulama geliştirme sürecinde hem performans hem de güvenlik açısından birçok avantaj sunar. Bu temel yapıları ve dil özelliklerini öğrenerek, Android uygulama geliştirme yolculuğunuzda güçlü bir temel atabilirsiniz. Kotlin’i daha derinlemesine öğrenmek için uygulamalar geliştirmeye başlayın ve dilin sunduğu esneklikten yararlanın!

İbrahim Can Erdoğan

LINKEDIN

YOUTUBE

UDEMY

GITHUB

--

--

ibrahimcanerdogan
ibrahimcanerdogan

Written by ibrahimcanerdogan

Hi, My name is Ibrahim, I am developing ebebek android app within Ebebek. I publish various articles in the field of programming and self-improvement.

No responses yet