Java 메소드 오버로딩: 다재다능한 메소드 정의와 활용

Soozoo·2024년 6월 17일

JAVA

목록 보기
5/41

Java에서 메소드 오버로딩(Method Overloading)은 같은 이름의 메소드를 여러 개 정의하여 다양한 인자를 처리할 수 있게 하는 강력한 기능입니다. 오버로딩은 코드의 가독성을 높이고, 유사한 작업을 수행하는 메소드를 한 이름으로 그룹화할 수 있도록 해줍니다. 이번 글에서는 Java에서 메소드 오버로딩을 활용하는 방법을 line과 plus 메소드 예제를 통해 살펴보겠습니다.

1. 메소드 오버로딩이란?

메소드 오버로딩은 같은 이름의 메소드를 여러 개 정의하고, 각 메소드가 서로 다른 인자 목록을 가지도록 하는 것입니다. 이를 통해 한 메소드 이름으로 다양한 유형의 입력을 처리할 수 있습니다. 메소드 오버로딩은 메소드의 시그니처(메소드 이름, 매개변수 타입, 매개변수 개수)를 기준으로 구분됩니다.

Code 예시:

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
profile
넙-죽

0개의 댓글