Anasayfa Java Dili Metotları Aşırı Yükleme (Overloading)

Java Dili Metotları Aşırı Yükleme (Overloading)

Okan

Aşırı yükleme (Overloading), Nesne Yönelimli Programlamanın en önemli özelliklerinden birisidir. Aşırı yükleme (Overloading) sayesinde benzer işleri yapan bir çok metot yerine bir metot kullanılır. Metotların detaylı anlatımı için Java Dili Metotlar sayfasını ziyaret edebilirsiniz.

Java programlama dilinde her bir metot farklı işlemler yapar ve her bir metodun ismi olur. Fakat farklı işlemler yapan ama aynı isme sahip olan metotlar oluşturmak istediğimizde bu işlemi aşırı yükleme(Overloading) ile yapıyoruz.

Örneğin topla() adında bir metodun 2 tane parametresi olsun ve metoda gönderilen sayıları toplayıp ekrana yazdırsın.

Kullanıcı bu metoda 3 tane sayı gönderdiği zaman program hata verecektir. Fakat biz topla() adında 3 parametreli farklı bir metot oluşturabiliriz. Bu şekilde kullanıcı topla() metoduna 3 adet sayı gönderdiği zaman da bu metodu kullanarak işlem yapacaktır.

Bu örneği programımızın üzerinde çalıştıralım:

package kodbloklari.com;

public class Overloading1 {
	
	static void topla(int sayi1,int sayi2) {
		System.out.println("Toplam = " + (sayi1 + sayi2));
	}
	
	public static void main(String[] args) {
		
		topla(5,10);
		topla(5,10,6);
	}
}

Burada sadece 2 parametre alan bir topla() adında metot oluşturduk.

Ana programda topla() metoduna 11. satırda 2 tane ve 12. satırda 3 tane sayı gönderdik. 2 sayı gönderdiğimiz metot çalışırken 3 sayı gönderdiğimiz metot çalışmadı.

overloading

Şimdi bu programa 3 parametre alan metodu da ekleyelim.

package kodbloklari.com;

public class Overloading2 {
	
	static void topla(int sayi1, int sayi2) {
		System.out.println("2 Sayının toplamı = " + (sayi1 + sayi2) );
	}
	static void topla(int sayi1, int sayi2, int sayi3) {
		System.out.println("3 Sayının toplamı = " + (sayi1 + sayi2 + sayi3));
	}
	public static void main(String[] args) {
		
		topla(5,10);
		topla(2,8,10);	
	}
}

Yukarıda da topla() adını kullanarak 2 ve 3 parametre alan 2 farklı metot oluşturduk.

Kullanıcı 2 adet sayı gönderdiği zaman ilgili (2 adet parametre alan) metot, 3 adet sayı gönderdiği zamanda 3 adet parametre alan metot çalışıyor.

Kodun ekran çıktısı da şu şekildedir:

overloading

Metotlarda Overloading genel itibarıyla bu şekildedir.

Şimdi biraz daha farklı bir örnek yapalım.

package kodbloklari.com;

public class Overloading3 {
	
	static void goster(int sayi1, int sayi2) {
		System.out.println("1.Sayı = " + sayi1);
		System.out.println("2.Sayı = " + sayi2);
	}
	static void goster(int sayi1,String isim) {
		System.out.println("İsim = " + isim);
		System.out.println("Sayı = " + sayi1);
	}
	public static void main(String[] args) {
		
		goster(53,25);
		goster(25,"KOD BLOKLARI");	
	}
}

Burada da gördüğünüz gibi metotların parametrelerinde farkı veri tipleri kullanabiliriz.

Kullanıcı 2 adet sayı girerse ilgili metodu, bir sayı ve bir ismi girerse de ilgili metodu çalıştırır.

Kodun ekran çıktısı da aşağıdaki şekildedir:

overloading

Birde Java’nın kendi yapısında Overloading işlemi uygulanmış metotları vardır. Bunlara örnek verelim.

ArrayList add() Metodu Overloading:

package kodbloklari.com;

import java.util.ArrayList;

public class Overloading4 {
	
	public static void main(String[] args) {
		
		ArrayList<String> liste = new ArrayList<String>();
		
		liste.add("Hakan");
		liste.add("Murat");
		liste.add(1,"Gokcen");
	}
}

Burada önce ArrayList kullanmamız için java.util paketini eklememiz gerekiyor. Daha sonra da listemize eleman eklemek için add() metodunu kullanmamız gerekiyor.

Yukarıdaki kod da gördüğünüz gibi add() metoduna Overloading işlemi uygulanmış.

Sadece elemanı girdiğimiz zaman direk sırasıyla eklerken, bir sayı ve eleman girdiğimiz zaman da gireceğimiz elemanın hangi indekse eklenmesi istediğimizi belirtiyoruz.

ArrayListlerin detaylı anlatımı için Java Dili ArrayList sayfasını ziyaret edebilirsiniz.

Yorum Yap

Bu web sitesi deneyiminizi geliştirmek için çerezler kullanmaktadır. Kabul Et Tamamını Oku

Gizlilik Politikası