Java에서 메소드 오버로딩(Method Overloading)은 같은 이름의 메소드를 여러 개 정의하여 다양한 인자를 처리할 수 있게 하는 강력한 기능입니다. 오버로딩은 코드의 가독성을 높이고, 유사한 작업을 수행하는 메소드를 한 이름으로 그룹화할 수 있도록 해줍니다. 이번 글에서는 Java에서 메소드 오버로딩을 활용하는 방법을 line과 plus 메소드 예제를 통해 살펴보겠습니다.
메소드 오버로딩은 같은 이름의 메소드를 여러 개 정의하고, 각 메소드가 서로 다른 인자 목록을 가지도록 하는 것입니다. 이를 통해 한 메소드 이름으로 다양한 유형의 입력을 처리할 수 있습니다. 메소드 오버로딩은 메소드의 시그니처(메소드 이름, 매개변수 타입, 매개변수 개수)를 기준으로 구분됩니다.
package overload;
public class MainEntry {
// 라인 관련 함수
public static void line() {
System.out.println("==============================");
}
public static void line(String str) {
System.out.println(str);
}
public static void line(double str) {
System.out.println(str);
}
public static void line(int n, String str) {
for (int i = 1; i < n; i++) {
System.out.print(str);
}
System.out.println(str);
}
public static void line(int n, int y, String str) {
if (n > y) {
int temp = n;
n = y;
y = temp;
}
for (int i = n; i < y; i++) {
System.out.print(str);
}
System.out.println();
}
// plus 관련 함수
public static void plus(double x) {
System.out.println(x + 100);
}
public static void plus(int x) {
System.out.println(x + 100);
}
public static void plus(int x, int y) {
System.out.println(x + y);
}
public static void plus(String x) {
System.out.println(x + 100);
}
public static void main(String[] args) {
line(15, "&");
line(12.34);
line("&");
line();
plus(12.34);
plus(20);
plus("hello");
} // end main
}
&&&&&&&&&&&&&&&&&
12.34
&
==============================
112.34
120
hello100