過負荷と過負荷


Javaとオブジェクト向け言語では,この2つのよく混同される概念を過度にロードし,過度に記述することについて議論する.
まず、2つの概念定義について説明します.
オーバーロード(Overloading):同じ名前のメソッドを使用しますが、パラメータのタイプと数が異なることを確認します.
overriding(Overriding):親が所有するメソッドを子で再定義して使用
文字で見るだけでは混同される可能性があるのでコードで整理しておきましょう
使用する言語はJavaです.
オーバーロードの例.
public class Overloading {
	void A() {
		System.out.println("A");
	}
	
	void A(int n) {
		System.out.println("A가 "+n+"개나!");
	}
	
	void A(String name) {
		System.out.println("A는 "+name+"의 것!");
	}
	
	public static void main(String[] args) {
		Overloading o = new Overloading();
		o.A();
		o.A(3);
		o.A("김이박");
	}
}
3つの方法(名前A)があるが、各方法の受信パラメータのタイプと数は異なる.
実行すると、正しい方法が渡された値と一致します.
大げさな例です
public class OverridingSuper {

	public void call(String name) {
		System.out.println("안녕하세요? "+name+"입니다.");
	}
	
}
public class Overriding extends OverridingSuper {

	public void call(String name) {
		System.out.println("안녕하십니까? 저는 "+name+"입니다.");
	}
	
	public static void main(String[] args) {
		Overriding o = new Overriding();
		
		o.call("김이박");
	}

}
子クラスOverridingでは、親クラスで定義された呼び出しメソッドが再定義されます.
Overridingオブジェクトを作成して呼び出しメソッドを呼び出すと、overridingの呼び出しが呼び出されることに気づきます.