728x90
반응형
클래스의 메소드를 선언할 때, 같은 메소드지만 다른 매개 변수를 가지게 하는 것을 메소드 overloading이라고 합니다.
바로 예제 코드를 보겠습니다.
package Inferitance;
class Print {
int a, b;
int c = 0;
public void Setnumber(int a, int b)
{
this.a = a;
this.b = b;
}
public void Setnumber(int a, int b, int c)
{
this.Setnumber(a, b);
this.c = c;
}
public void Sum()
{
System.out.println(a + b + c);
}
public void Mul()
{
if (c == 0)
{
System.out.println(a * b);
}
else
{
System.out.println(a * b * c);
}
}
}
public class Overloading {
public static void main(String[] args) {
Print prt = new Print();
prt.Setnumber(30, 50);
prt.Sum();
prt.Mul();
Print prt_2 = new Print();
prt_2.Setnumber(30, 50, 60);
prt_2.Sum();
prt_2.Mul();
}
}
위의 코드는 Setnumber 메소드에 몇 개의 매개 변수를 가지냐에 따른 오버 로딩입니다.
현재 Setnumber은 메소드 명이 같지만, 자바 입장에서는 매개변수의 개수와 타입이 다르면 다른 메소드로 인식을 합니다. 따라서 두 개의 매개변수를 받는 Setnumber, 세 개의 매개변수를 받는 Setnumber를 따로 선언하지 않아도 됩니다.
'JAVA' 카테고리의 다른 글
자바 static 변수와 static 메소드 - 공부하는 도비 (0) | 2023.01.30 |
---|---|
JDK 다운, PATH 환경 설정 - 공부하는 도비 (0) | 2023.01.26 |
자바 상속 기초 3) 메소드 overriding - 공부하는 도비 (0) | 2022.04.02 |
자바 상속 기초 2) super - 공부하는 도비 (0) | 2022.04.02 |
자바 상속 기초 1) - 공부하는 도비 (0) | 2022.04.02 |