메서드 오버로딩

sungs·2025년 5월 14일

자바

목록 보기
1/95
  • 코드의 가독성과 재사용성을 높이기 위해 매우 자주 사용된다.
public class Calculator {
    int add(int a, int b) {
        return a + b;
    }

    double add(double a, double b) {
        return a + b;
    }

    int add(int a, int b, int c) {
        return a + b + c;
    }
}
  • 같은 이름의 메서드를 매개변수(Parameter)만 다르게 하여 여러 개 정의하는 것. 즉, 메서드 이름은 같되, 매개변수의 개수나 타입이 다르면 여러 메서드를 정의할 수 있다.

✅ 오버로딩이 필요한 이유

  1. 같은 기능을 다양한 방식으로 처리하고 싶을 때

예: 숫자 두 개 더하기, 세 개 더하기, 실수 더하기 등

  1. 메서드 이름의 통일성 확보

addInt(), addDouble() 같은 이름보다 add() 하나로 통일하는 게 훨씬 가독성이 좋다.

  1. 코드 재사용성과 유지보수성 향상

이름을 반복적으로 바꾸지 않아도 되어, 유지보수가 쉬워진다.

⚠️ 메서드 오버로딩 시 주의할 점

  1. 매개변수의 개수 또는 타입이 달라야 한다.
void print(String s) {}
String print(String s) {} // 오류! 반환값만 다르고 매개변수는 동일하므로 불가능
  1. 반환값(return type)은 오버로딩을 구분하는 기준이 되지 않는다.

💡 정리

  • 메서드 오버로딩은 같은 기능을 다양한 방식으로 표현할 수 있게 해주는 문법적 장치이다.

  • 자바에서 자주 활용되며, 가독성 향상, 코드 중복 제거, 유지보수성 향상 등의 이점을 제공한다.

  • 매개변수의 타입, 개수, 순서가 달라야만 유효하다.

profile
앱 개발 공부 중

0개의 댓글