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;
}
}
예: 숫자 두 개 더하기, 세 개 더하기, 실수 더하기 등
addInt(), addDouble() 같은 이름보다 add() 하나로 통일하는 게 훨씬 가독성이 좋다.
이름을 반복적으로 바꾸지 않아도 되어, 유지보수가 쉬워진다.
void print(String s) {}
String print(String s) {} // 오류! 반환값만 다르고 매개변수는 동일하므로 불가능
메서드 오버로딩은 같은 기능을 다양한 방식으로 표현할 수 있게 해주는 문법적 장치이다.
자바에서 자주 활용되며, 가독성 향상, 코드 중복 제거, 유지보수성 향상 등의 이점을 제공한다.
매개변수의 타입, 개수, 순서가 달라야만 유효하다.