मैथड ओवरलोडिंग (Method Overloading)

जावा में हम एक ही नाम के एक से ज़्यादा मैथड बना सकते हैं। इन मैथड्स को ‘पास‘ किए जाने वाले आरग्यूमेंट्स के आधार पर पहचाना जाता है। इसे मैथड ओवरलोडिंग कहते हैं।

मैथड ओवरलोडिंग का प्रयोग तब किया जाता है जब अलग-अलग स्थिति में एक ही प्रकार का कार्य करना हो। उदाहरण के लिए किसी वर्ग का क्षेत्रफल ज्ञात करने के लिए एक ही पैरामीटर (आरग्यूमेंट) की आवष्यकता होती है जबकि आयत का क्षेत्रफल ज्ञात करने के लिए दो पैरामीटर्स की आवष्यकता होती है। जब इस प्रकार का मैथड काॅल किया जाता है तो मैथड के आरग्यूमेंट के आधार पर उसे पहचान कर रन कर दिया जाता है। इस प्रक्रिया को पाॅलीमाॅरफिज़्म कहते हैं।

नीचे दिए गए उदाहरण में वर्ग तथा आयत के क्षेत्रफल को ज्ञात करने के लिए मैथड ओवरलोडिंग का प्रयोग किया गया है-

class My
{
	int l, b;
	My(int x)
	{
		l = b = x;
	}
	My(int x, int y)
	{
		l = x;
		b = y;
	}
	void show()
	{
		System.out.println("Length = " + l);
		System.out.println("Breadth = " + b);
	}
	int area()
	{
		return(l * b);
	}
}
class Demo
{
	public static void main(String arr[])
	{
		My m = new My(10);
		m.show();
		int as = m.area();
		System.out.println("Area of Square = " + as);

		My m1 = new My(10, 20);
		m1.show();
		int ar = m1.area();
		System.out.println("Area of Rect. = " + ar);
	}
}

Output:

Length = 10
Breadth = 10
Area of Square = 100
Length = 10
Breadth = 20
Area of Rect. = 200
सुझाव / कमेंट