# Sınıf

Adres: https://softwaredictionary.org/tr/terimler/class
Kategori: Programlamanın Temelleri
Son güncelleme: 2026-09-30
İngilizcesi: Class
Okunuşu: klas

Kısaca: Sınıf, nesne yönelimli programlamada bir grup nesnenin paylaştığı veri ve davranışı tanımlayan, nesnelerin örnek olarak ondan oluşturulduğu bir plandır.

## Programlamada sınıf nedir?

Sınıf, belirli bir tür nesnenin nasıl göründüğünü ve neler yapabildiğini anlatır. Her nesnenin sakladığı veriler olan özellikleri (property) ve her nesnenin çalıştırabildiği fonksiyonlar olan metotları listeler. Ardından sınıftan, her biri kendi değerlerine sahip, ihtiyacınız kadar nesne (örnek, instance) oluşturursunuz.

Genellikle `new` anahtar sözcüğüyle bir örnek oluşturduğunuzda, nesnenin başlangıç değerlerini ayarlamak için kurucu (constructor) adı verilen özel bir metot çalışır. Sınıfın metotlarında JavaScript'teki `this` ya da Python'daki `self` gibi bir anahtar sözcük, kullanılan belirli örneği ifade eder. Sınıflar ayrıca örneğin `extends` ile başka sınıflardan kalıtım alarak üst sınıfın kodunu yeniden kullanabilir, davranış ekleyebilir veya geçersiz kılabilir.

Kurabiye kalıbı sınıf için klasik bir benzetmedir. Kalıp şekli tanımlar ve bastığınız her kurabiye, her birini farklı süslesiniz bile, o şekle sahip ayrı bir örnektir. Sınıflar, kullanıcılar, siparişler ve kullanıcı arayüzü bileşenleri gibi şeyleri modelledikleri Java, C#, C++, Python ve Swift gibi dillerin merkezindedir.

Sınıf sıklıkla nesneyle karıştırılır. Sınıf tanımdır; nesne ise program çalışırken bellekte var olan somut bir örnektir. JavaScript'te sınıflar, dilin daha eski prototip tabanlı sistemi üzerinde daha temiz bir sözdizimi olarak ES2015'te eklendi; bu yüzden Java veya C#'taki sınıflardan biraz farklı davranırlar.

## Önemli noktalar

- Sınıf, nesnelerinin paylaştığı özellikleri ve metotları tanımlar.
- Bir sınıftan oluşturulan nesneye örnek (instance) denir.
- Kurucu (constructor), her yeni örneğin başlangıç durumunu ayarlar.
- Sınıflar, davranışı yeniden kullanmak ve genişletmek için başka sınıflardan kalıtım alabilir.

## Örnek: JavaScript'te bir sınıf ve bir alt sınıf

```javascript
class Animal {
  constructor(name) {
    this.name = name; // each instance stores its own name
  }
  speak() { return `${this.name} makes a sound`; }
}

// Dog inherits from Animal and overrides speak()
class Dog extends Animal {
  speak() { return `${this.name} barks`; }
}

const rex = new Dog("Rex"); // create an instance
rex.speak(); // "Rex barks"
```

## Sık sorulan sorular

**Sınıf ile nesne arasındaki fark nedir?**

Sınıf, özellikleri ve metotları tanımlayan şablondur. Nesne ise o sınıftan oluşturulmuş, kendi verisine sahip belirli bir örnektir; bu yüzden tek bir `User` sınıfı binlerce farklı kullanıcı nesnesi üretebilir.

**Kurucu (constructor) nedir?**

Kurucu, bir sınıftan yeni bir örnek oluşturduğunuzda otomatik çalışan özel bir metottur. Genellikle `new User("Ada")` örneğindeki gibi, aktarılan argümanlardan nesnenin başlangıç özellik değerlerini ayarlar.

**JavaScript'te sınıflar var mı?**

Evet. JavaScript'te ES2015'ten beri `class` sözdizimi vardır, ancak arka planda hâlâ diğer nesnelerin kalıtım aldığı nesneler olan prototipleri kullanır. Bu sözdizimi, nesne yönelimli kodu okumayı ve yazmayı yalnızca kolaylaştırır.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
