package com.java1.day11;
public class OverloadingTestEx09 {
public static void main(String[] args) {
MyMath3 mm2 = new MyMath3();
System.out.println("mm2.add(3, 3) 결과:" + mm2.add(3, 3));
System.out.println("mm2.add(3L, 3) 결과: " + mm2.add(3L, 3));
System.out.println("mm2.add(3, 3L) 결과: " + mm2.add(3, 3L));
System.out.println("mm2.add(3L, 3L) 결과: " + mm2.add(3L, 3L));
int[] a = { 100, 200, 300 };
System.out.println("m2.add(a) 결과: " + mm2.add(a));
}
}
class MyMath3 {
int add(int a, int b) {
System.out.print("int add(int a, int b) - ");
return a + b;
}
long add(int a, long b) {
System.out.print("long add(int a, long b) - ");
return a + b;
}
long add(long a, int b) {
System.out.print("long add(long a, int b) - ");
return a + b;
}
long add(long a, long b) {
System.out.print("long add(long a, long b) - ");
return a + b;
}
int add(int[] a) {
System.out.print("int add(int[] a) - ");
int result = 0;
for (int i = 0; i < a.length; i++) {
result += a[i];
}
return result;
}
}
출력결과
int add(int a, int b) - mm2.add(3, 3) 결과:6
long add(long a, int b) - mm2.add(3L, 3) 결과: 6
long add(int a, long b) - mm2.add(3, 3L) 결과: 6
long add(long a, long b) - mm2.add(3L, 3L) 결과: 6
int add(int[] a) - m2.add(a) 결과: 600