티스토리 뷰

public class ProcessMessage {
    public static void printProcessMessage() {
        // 아무것도 실행하지 않음
    }
    
    public static void printProcessMessage(String action) {
        if ("execute".equals(action)) {
            System.out.println("실행 중입니다! 💪");
            // 실제 처리 로직
        }
    }
}
ProcessMessage.printProcessMessage();        // 첫 번째 호출 → 매개변수 없는 버전
ProcessMessage.printProcessMessage("execute"); // 두 번째 호출 → String 매개변수 있는 버전

여기서 printProcessMessage 라는 두개의 매개변수가 있다..

나는 의문이 들었다. 

" 메서드의 이름만같으면 동일한 메서드 아닌가? 하나의 이름에는 하나의 메서드만이 존재할 수 있는 것이 아닌가?"

 

이번 포스팅은 이 의문을 해결하기 위한 포스팅이다.

 

이 의문을 해결하기 위해서는 메서드 오버로딩이라는 문법을 알아야한다. 

 

■ "메서드 오버로딩" 이란?

같은 클래스에서 이름은 같지만 매개변수의 형태(개수, 타입, 순서)가 다른 메서드를 여러 개 정의하는 것.
▶ 호출 시 전달되는 인자(Argument)의 형태에 맞춰 컴파일 시점에 어떤 메서드를 부를지 결정됨 (컴파일타임 다형성).

 

□ 특징 ( gpt 형님 )

              |특징|                                     |설명|

이름 동일 메서드 이름이 동일해야 함
매개변수 다름 매개변수 개수, 자료형, 순서가 달라야 함
반환 타입 영향 X 반환 타입만 달라서는 오버로딩 불가
컴파일 시점 결정 호출할 메서드가 컴파일 단계에서 정해짐
접근제어자 무관 public, private, protected 상관없음

 

이해를 위한 예제!! )

public class Example {
    // 매개변수 없음
    void print() {
        System.out.println("Hello");
    }

    // 매개변수 1개 (int)
    void print(int number) {
        System.out.println("숫자: " + number);
    }

    // 매개변수 1개 (String)
    void print(String text) {
        System.out.println("문자열: " + text);
    }

    // 매개변수 2개 (String, int)
    void print(String text, int number) {
        System.out.println(text + " " + number);
    }
}

public class Main {
    public static void main(String[] args) {
        Example ex = new Example();
        ex.print();                  // Hello
        ex.print(10);                 // 숫자: 10
        ex.print("안녕");             // 문자열: 안녕
        ex.print("Hi", 5);            // Hi 5
    }
}

 

 

솔직히 이 문법이 어디에 어떻게 쓰일지는 아직 잘 모르겠다 ( 그냥 단순하게 코드를 짜다가 " 음... 이건 같은건가 다른건가.... " 라는 고민 때문에 이 글을 썻기 때문에, 아직 사용해보지는 않았다... )

 

오늘은 광복절, 헛되이 보내지 말자...! Cheer up!

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함