Java programlamada yöntem imzası, bir yöntemin benzersiz tanımlayıcısını ifade eder. Yöntem adı ve parametre listesinden oluşur. İmza, bir yöntemi diğerinden ayırt etmeye yardımcı olur ve Java derleyicisinin yöntem çağrılarını karşılık gelen tanımlarla eşleştirmesine olanak tanır. Yöntem imzası aşağıdaki bileşenleri içerir:
Yöntem adı: | Geçerli bir Java tanımlayıcısı olması gereken ve adlandırma kurallarına uygun olan, yönteme verilen addır. Yöntem adı açıklayıcı olmalı ve gerçekleştirdiği işlevselliği yansıtmalıdır.
Parametre listesi: | Bir yöntemin çağrıldığında almayı beklediği parametreleri veya bağımsız değişkenleri belirtir. Listedeki her parametre, parametre tipinden ve adından oluşur. Birden fazla parametre virgülle ayrılır. Bir yöntem herhangi bir parametre gerektirmiyorsa boş bir parametre listesi kullanılır. Örneğin:
public void methodName() {}
Bir yöntemin parametreleri varsa imza, parametre türlerini ve adlarını içerir:
public void methodName(int param1, String param2) {}
css altı çizili metin
İade türü: | Metodun döndürdüğü değerin veri tipini tanımlar. Bir yöntem herhangi bir değer döndürmüyorsa dönüş türü void olarak belirtilir. Bir değer döndürüyorsa, dönüş türü, döndürülen değerin veri türüyle eşleşmelidir. Örneğin:
public int methodName() {}
Bir yöntem bir dizi veya nesne döndürürse, dönüş türü, döndürülen nesnenin dizi türünü veya sınıfını temsil eder. Yöntem adı ve parametre listesinin birleşimi, bir sınıf içindeki yöntemi benzersiz şekilde tanımlar. Java, yöntem aşırı yüklemeyi destekler; bu, aynı adla ancak farklı parametre listeleriyle birden çok yöntem tanımlayabileceğiniz anlamına gelir. Aşırı yüklenmiş yöntemlerin farklı imzaları vardır ve derleyicinin sağlanan bağımsız değişkenlere göre yürütülecek uygun yöntemi belirlemesine olanak tanır. Yöntem imzasının, yöntemin erişim değiştiricisini (genel, özel veya korumalı gibi) veya diğer değiştiricileri (statik veya final gibi) içermediğine dikkat etmek önemlidir. Bu değiştiriciler yöntemin görünürlüğünü ve davranışını belirtir ancak imzanın bir parçası olarak kabul edilmez.
Erişim Düzenleyicileri: | Yöntem imzasının bir parçası olarak görülmese de, genel, özel veya korumalı gibi erişim değiştiriciler yöntemin görünürlüğünü belirler. Yönteme nereden erişilebileceğini belirtirler. Örneğin, genel bir yönteme herhangi bir sınıftan erişilebilirken, özel bir yönteme yalnızca aynı sınıf içinden erişilebilir.
Değiştiriciler: | Erişim değiştiricilerine ek olarak yöntemler, yöntemin çeşitli davranışlarını ve kısıtlamalarını tanımlayan statik, final, soyut veya senkronize gibi başka değiştiricilere de sahip olabilir. Bu değiştiriciler aynı zamanda yöntem imzasını da etkilemez.
İstisnalar: | Bir yöntem bir veya daha fazla istisna atarsa, bunlar yöntem imzasının bir parçasıdır. İstisnalar, throws anahtar sözcüğü kullanılarak yöntem imzasında ve ardından istisna türleri listesi kullanılarak bildirilir. Bu, yöntemin yürütme sırasında potansiyel olarak bu istisnaları atabileceğini gösterir. Örneğin:
public void methodName() throws IOException, IllegalArgumentException {}
Yöntem Aşırı Yüklemesi: | Java, aynı adla ancak farklı parametre listeleriyle birden fazla yöntem tanımlamanıza olanak tanıyan yöntem aşırı yüklemeyi destekler. Aşırı yüklenmiş yöntemlerin, parametrelerinin sayısına, türüne ve sırasına bağlı olarak benzersiz imzaları vardır. Aşırı yüklenmiş yöntemleri ayırt etmek için tek başına dönüş türü yeterli değildir. Örneğin:
public void methodName(int param1) {} public void methodName(int param1, int param2) {} public void methodName(String param1) {}
İade Türü: | Yöntemin aşırı yüklenmesi dikkate alındığında dönüş türü yöntem imzasının bir parçası değildir. Ancak, iki yöntemin adı ve parametre listesi aynıysa ancak dönüş türleri farklıysa, bu durum derleme hatasıyla sonuçlanacaktır. Java, yalnızca dönüş türüne dayalı olarak yöntemin aşırı yüklenmesine izin vermez.
- Vararg: | Java, yöntem parametrelerinde varargs olarak da bilinen değişken uzunluklu bağımsız değişkenleri destekler. Varargs parametresi, aynı türden değişken sayıda argümanı bir yönteme aktarmanıza olanak tanır. Varargs parametresi, parametre türünden sonra bir üç nokta (...) ile gösterilir. Örneğin:
public void methodName(int... numbers) {}
Varargs ile yöntemi sıfır dahil herhangi bir sayıda int argümanıyla çağırabiliriz.
Yöntem çağrılarıyla çalışırken, arayüzleri uygularken, sınıfları genişletirken veya yansımayı kullanırken yöntem imzalarını anlamak çok önemlidir. Doğru yöntemin çağrılmasını sağlar ve Java programlarındaki yöntemleri tanımlamanın tutarlı ve net bir yolunu sağlar.