Java, nesne yönelimli bir programlama (OOP) dilidir ve bu felsefenin temelinde sınıflar (classes) ve nesneler (objects) yer alır. Gerçek hayattaki varlıkları yazılıma taşımak için sınıf ve nesne yapıları kullanılır. Bu kavramları sağlam öğrenmek, ileri düzey Java konularında başarılı olmanın ön koşuludur.
✅ Sınıf (Class) Nedir?
Bir sınıf; özellikler (değişkenler) ve davranışlar (metotlar) barındıran, bir nesnenin taslağıdır. Başka bir deyişle, bir şablon ya da mavi kopya gibidir.
Örnek: “Araba” bir sınıftır. Tüm arabalar markaya, modele, renge ve hızlanma kabiliyetine sahiptir. Bu genel yapı bir sınıfla ifade edilir.
🧱 Java’da Sınıf Tanımı
public class Araba {
// özellikler (field veya property)
String marka;
String renk;
int hiz;
// davranışlar (method)
void bilgileriYazdir() {
System.out.println("Marka: " + marka);
System.out.println("Renk: " + renk);
System.out.println("Hız: " + hiz);
}
void hizlan(int miktar) {
hiz += miktar;
System.out.println("Yeni hız: " + hiz);
}
}
🧍 Nesne (Object) Nedir?
Nesne, sınıfa ait somut bir örnektir. Yani sınıfın gerçek hayattaki temsilidir.
🔹 Nesne Oluşturma
Araba benimArabam = new Araba();
benimArabam.marka = "Toyota";
benimArabam.renk = "Kırmızı";
benimArabam.hiz = 100;
🚀 Nesne Üzerinden Metot Çağrısı
Araba benimArabam = new Araba();
benimArabam.marka = "Toyota";
benimArabam.renk = "Kırmızı";
benimArabam.hiz = 100;
🧠 new
Anahtar Kelimesi
Java’da bir nesne oluşturmak için new
ifadesi kullanılır. Bellekte sınıfın yapısını örnekleyen yeni bir alan oluşturur.
Araba araba1 = new Araba();
🔄 Birden Fazla Nesne
Her new
işlemiyle yeni bir nesne oluşturulur ve bu nesneler birbirinden bağımsızdır.
Araba araba1 = new Araba();
Araba araba2 = new Araba();
araba1.marka = "BMW";
araba2.marka = "Mercedes";
Örnek Uygulama: Öğrenci Sınıfı
public class Ogrenci {
String ad;
int yas;
void selamVer() {
System.out.println("Merhaba, ben " + ad);
}
}
Main metodu:
public class Main {
public static void main(String[] args) {
Ogrenci ogr1 = new Ogrenci();
ogr1.ad = "Furkan";
ogr1.yas = 20;
ogr1.selamVer();
}
}
📦 Neden Sınıf ve Nesne Kullanılır?
Avantaj | Açıklama |
---|---|
Modülerlik | Kod daha bölünebilir ve yönetilebilir hale gelir |
Tekrar Kullanılabilirlik | Aynı sınıftan birçok nesne türetilebilir |
Gelişmiş Yapılar | Kalıtım, çok biçimlilik gibi OOP özelliklerinin temelidir |
Bilinmesi Gereken Temel OOP Terimleri
- Encapsulation (Kapsülleme) – Verileri gizleyip, dışarıdan erişimi kontrollü hale getirme.
- Inheritance (Kalıtım) – Bir sınıfın başka bir sınıftan miras alması.
- Polymorphism (Çok Biçimlilik) – Aynı isimli metotların farklı şekillerde davranması.
- Abstraction (Soyutlama) – Gereksiz detayları gizleyip, yalnızca önemli özellikleri gösterme.