Java
[Java] overloading 오버로딩
우니010
2021. 3. 11. 22:32
반응형
package org.opentutorials.javatutorials.overloading;
class Calculator {
int num1, num2;
int num3 = 0;
public void setOprands(int num1, int num2) {
System.out.println("setOprands 2");
this.num1 = num1;
this.num2 = num2;
}
public void setOprands(int num1, int num2, int num3) {
System.out.println("setOprands 3");
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}
public void sum() {
System.out.println(this.num1 + this.num2 + this.num3);
}
public void avg() {
System.out.println((this.num1 + this.num2 + this.num3) / 2);
}
}
public class CalculatorDemo {
public static void main(String[] args) {
Calculator c1 = new Calculator();
c1.setOprands(10, 20);
c1.sum();
c1.avg();
c1.setOprands(20, 20, 20);
c1.sum();
c1.avg();
}
}
출력값
setOprands 2
30
15
setOprands 3
60
30
같은 이름의 메소드, 다른 타입의 매개변수
하지만 리턴 타입은 같아야함
package org.opentutorials.javatutorials.overloading;
public class OverloadingDemo {
void Test() {
System.out.println("void Test()");
}
void Test(int arg1) {
System.out.println("void Test(int arg1)");
}
void Test(String arg1) {
System.out.println("void Test(String arg1)");
}
//int Test() { //error
// System.out.println("int Test()");
//}
public static void main(String[] args) {
OverloadingDemo od = new OverloadingDemo();
od.Test();
od.Test(1);
od.Test("hello");
}
}
출력값
void Test()
void Test(int arg1)
void Test(String arg1)반응형