less than 1 minute read

메서드 오버로딩

같은 이름의 메서드를 매개변수의 타입과 개수가 다르게해서 여러개 만드는 것.

public class OverLoad {
	public void hap(int a, int b) {
		System.out.println(a + b);
	}
	public void hap(float a, int b) {
		System.out.println(a + b);
	}
	public void hap(int a, int b, int c) {
		System.out.println(a + b + c);
	}
}

메서드의 이름은 같지만 에러가 나지 않는다.

OverLoad o = new OverLoad();
o.hap(1, 2);

오버로딩은 정적 바인딩으로 컴파일 시점에서 호출될 메서드가 이미 결정되어 있다.
위의 코드를 컴파일 하게되면 컴파일러는 메서드 이름을
hap_int_int로 만들고 바로 호출하게 되므로, 속도와는 관계가 없다.

Tags:

Categories:

Updated:

Leave a comment