public class MethodTest {
static void add(int a, int b){
System.out.println("결과 : "+(a+b));
}
static void add(double a, double b){
System.out.println("결과 : "+(a+b));
}
static void minus(int a, int b){
System.out.println("결과 : "+(a-b));
}
static void minus(double a, double b){
System.out.println("결과 : "+(a-b));
}
static void mul(int a, int b){
System.out.println("결과 : "+(a*b));
}
static void mul(double a, double b){
System.out.println("결과 : "+(a*b));
}
static void div(int a, int b){
System.out.println("결과 : "+(a/b));
}
static void div(double a, double b){
System.out.println("결과 : "+(a/b));
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("1. 정수 2. 실수 : ");
int select = scanner.nextInt();
if(select == 1 || select == 2){
int num1 =0;
int num2 = 0;
double fnum1= 0.0;
double fnum2 = 0.0;
if(select == 1){
System.out.print("숫자 1 : ");
num1 = scanner.nextInt();
System.out.print("숫자 2 : ");
num2 = scanner.nextInt();
}
if(select == 2){
System.out.print("숫자 1 : ");
fnum1 = scanner.nextDouble();
System.out.print("숫자 2 : ");
fnum2 = scanner.nextDouble();
}
System.out.print("연산자를 입력 해주세요 : ");
String str = scanner.next();
if(str.equals("+")){
if(select == 1){
add(num1,num2);
}
else{
add(fnum1,fnum2);
}
}
else if(str.equals("-")){
if(select == 1){
minus(num1,num2);
}
else{
minus(fnum1,fnum2);
}
}
else if(str.equals("*")){
if(select == 1){
mul(num1,num2);
}
else{
mul(fnum1,fnum2);
}
}
else if(str.equals("/")){
if(select == 1){
div(num1,num2);
}
else{
div(fnum1,fnum2);
}
}
else{
System.out.println("잘못된 입력입니다.");
}
}
else{
System.out.println("잘못된 입력입니다.");
}
}
}
위의 소스처럼 오버로딩을 사용하여 똑같은 이름의 메소드를 이용해서 구현을 하여 사용시 메소드 이름을 하나만 알아도 사용을 할 수 있어서 사용시 장점이 있습니다.
결과 화면