같은 메소드 및 생성자를 매개변수만 다르값으로 설정하여 여러번 쓸수잇는것이다. 이를 생성자 오버로딩, 메소드 오버로딩이라 부르며 줄여서 그냥 오버로딩이라고 부른다.
현재 우리가 자주사용하는 println함수도 오버로딩을 사용하여 만든 함수이다.
밑에 간단한 코드를 보여 이해하자
package test;
public class Overload {
int sum(int a, int b) { // sum method를 파라미터 2개로 오버로딩 하고있다
System.out.print("매개변수 2개 : ");
return a+b;
}
int sum(int a, int b, int c) {// sum method를 파라미터 3개로 오버로딩 하고있다
System.out.print("매개변수 3개 : ");
return a+b+c;
}
}
class Testimda{
public static void main(String[] args) {
Overload o1 = new Overload();
System.out.print(o1.sum(1, 2));
System.out.println();
System.out.print(o1.sum(1, 2, 3));
}
}
매개변수 2개 : 3
매개변수 3개 : 6
오버로딩은 주로 메서드에서 사용되는데 장점으로는 메서드명을 하나로 여러가지 매개변수를 가질수 있다.
이는 메서드명를 일일히 기억하지 않아도 되고, 코드를 만든자와 관리하는자 둘다 이득이 될수 있다.
업캐스팅(Up Casting) / 다운캐스팅 (Down Casting) (0) | 2020.10.15 |
---|---|
접근 제어자 (modifier) (0) | 2020.09.16 |
생성자 (Constructor) (0) | 2020.09.14 |
오버라이딩 - Overriding (0) | 2020.09.11 |
상속 (Inheritance) (0) | 2020.09.08 |