> For the complete documentation index, see [llms.txt](https://docs.yavuzlar.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yavuzlar.org/egitim/c-plus-plus/3.0-siniflar/3.3-sinif-methodlari.md).

# 3.3 Sınıf Methodları

C++'da sınıf metotları, bir sınıfın nesneleri ile ilişkili işlevlerdir. Bu metotlar, sınıfın özelliklerine erişim sağlar ve nesne üzerinde çeşitli işlemler gerçekleştirmek için kullanılır. Sınıf metotları, `public`, `private` veya `protected` erişim belirleyicileri ile tanımlanabilir. Bu, metotların görünürlüğünü ve erişim düzeyini kontrol eder.

**Sınıf Metotlarının Tanımı**

Bir sınıf metodu, sınıfın içindeki verilerle çalışmak için tanımlanır. Aşağıda basit bir sınıf ve bu sınıfın bir metodunu gösteren bir örnek bulunmaktadır:

```cpp
#include <iostream>
#include <string>

class Kisi {
private:
    std::string isim; // Özellik

public:
    // Constructor (Yapıcı Metot)
    Kisi(std::string i) : isim(i) {}

    // Metot
    void bilgiGoster() {
        std::cout << "İsim: " << isim << std::endl;
    }
};
```

**Metot Çağrısı**

Sınıfın metotlarını çağırmak için öncelikle bir nesne oluşturmanız gerekir. Aşağıdaki örnekte, `Kisi` sınıfından bir nesne oluşturulmuş ve `bilgiGoster()` metodu çağrılmıştır:

```cpp
int main() {
    Kisi kisi1("Ahmet");
    kisi1.bilgiGoster(); // Çıktı: İsim: Ahmet

    return 0;
}
```

**Parametreli Metotlar**

Sınıf metotları, parametre alabilir. Bu, metotların daha dinamik bir şekilde çalışmasını sağlar. Aşağıdaki örnekte `Kisi`sınıfına `isimDegistir` metodu eklenmiştir:

```cpp
void isimDegistir(std::string yeniIsim) {
    isim = yeniIsim; // Özelliği günceller
}
```

Bu metot, bir kişinin ismini değiştirmek için kullanılır. Aşağıdaki şekilde çağrılabilir:

```cpp
int main() {
    Kisi kisi1("Ahmet");
    kisi1.bilgiGoster(); // Çıktı: İsim: Ahmet

    kisi1.isimDegistir("Mehmet"); // İsmi değiştir
    kisi1.bilgiGoster(); // Çıktı: İsim: Mehmet

    return 0;
}
```

**Statik Metotlar**

Statik metotlar, sınıfın herhangi bir nesnesine ihtiyaç duymadan çağrılabilen metotlardır. Statik metotlar, genellikle sınıfın genel işlevselliği için kullanılır. Aşağıda statik bir metot örneği verilmiştir:

```cpp
class Matematik {
public:
    static int topla(int a, int b) {
        return a + b;
    }
};
```

Bu metot, sınıfın bir nesnesi olmadan çağrılabilir:

```cpp
int main() {
    int sonuc = Matematik::topla(5, 10); // Statik metot çağrısı
    std::cout << "Sonuç: " << sonuc << std::endl; // Çıktı: Sonuç: 15

    return 0;
}
```

**Sonuç**

C++'da sınıf metotları, nesne yönelimli programlamanın temel bir parçasıdır. Bu metotlar, sınıfın içindeki verilere erişmek ve bu veriler üzerinde işlemler yapmak için kullanılır. Sınıf metotları ile programlarınızı daha düzenli ve anlaşılır bir şekilde tasarlayabilirsiniz.
