Getter, Nesne Yönelimli Programlama (OOP) prensipleri doğrultusunda, bir nesnenin özel (private) veya korumalı (protected) üye değişkenlerinin değerini okumak için kullanılan bir yöntemdir. Get, İngilizce "almak" fiilinden türetilmiştir ve bu yöntemlerin temel amacı, sınıfın iç yapısını doğrudan erişime kapatarak veri kapsülleme ilkesini sağlamaktır. Getter'lar aracılığıyla, nesnenin özelliklerine kontrollü bir şekilde erişim sağlanır. Bu, kodun daha güvenli, bakımı daha kolay ve daha esnek olmasını sağlar.
Getter, bir sınıfın üye değişkenine (attribute) dışarıdan erişimi kontrol etmek ve bu erişimi belirli kurallar çerçevesinde gerçekleştirmek için kullanılan bir yöntemdir. Temel amacı, sınıfın iç yapısını korurken, değişken değerine erişim imkanı sunmaktır. Genellikle get...
şeklinde adlandırılır (örneğin, getName
, getAge
).
Veri kapsülleme, bir sınıfın veri (üye değişkenler) ve bu veriyi işleyen yöntemleri (metotlar) bir araya getirme ve bu veriye doğrudan erişimi engelleme prensibidir. Getter'lar, veri kapsüllemenin önemli bir parçasıdır. Üye değişkenleri private
veya protected
olarak tanımlayarak, dışarıdan doğrudan erişimi engelleriz. Daha sonra, getter yöntemleri aracılığıyla, bu değişkenlerin değerlerine kontrollü bir şekilde erişim sağlanır.
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Person {
private:
std::string name;
public:
Person(std::string name) : name(name) {}
std::string getName() const {
return name;
}
};
Python'da getter'lar, property
dekoratörü kullanılarak veya manuel olarak tanımlanabilir.
class Person:
def __init__(self, name):
self._name = name # _ ile başlayan değişkenler genellikle protected kabul edilir.
@property
def name(self):
return self._name
#Manuel yöntem:
def get_name(self):
return self._name
public class Person
{
private string name;
public Person(string name)
{
this.name = name;
}
public string Name
{
get { return name; }
}
}
Getter ve Setter yöntemleri, OOP'de birlikte kullanılır. Getter, bir değişkenin değerini okumak için kullanılırken, setter ise bir değişkenin değerini değiştirmek için kullanılır. Setter'lar genellikle set...
şeklinde adlandırılır (örneğin, setName
, setAge
).
Person
sınıfında, kişinin adını (name) okumak için getName
getter'ı kullanılabilir.BankAccount
sınıfında, hesap bakiyesini (balance) okumak için getBalance
getter'ı kullanılabilir. Bu getter, bakiyeyi göstermeden önce bir güvenlik kontrolü yapabilir.Product
sınıfında, ürünün fiyatını (price) okumak için getPrice
getter'ı kullanılabilir. Bu getter, fiyatı döviz kuruna göre güncelleyebilir.Getter yöntemleri, nesne yönelimli programlama'da veri kapsülleme ve kontrollü erişim sağlamak için önemli bir araçtır. Doğru kullanıldığında, kodun daha güvenli, bakımı daha kolay ve daha esnek olmasını sağlar. Ancak, aşırı kullanımı kod karmaşıklığını artırabilir. Bu nedenle, getter yöntemlerinin ne zaman ve nasıl kullanılacağını iyi anlamak önemlidir.