프로그래밍/JAVA
46. 메서드 오버로딩(Method Overloading)
설매향
2025. 4. 28. 14:01
반응형
이번 글에서는 메서드 오버로딩(Method Overloading)을 통해
같은 이름의 메서드를 매개변수 형태에 따라 구분하여 정의하고 호출하는 방법을 학습합니다.
오버로딩을 사용하면 이름이 같더라도 다양한 입력 상황에 맞춰 메서드를 유연하게 사용할 수 있습니다.
📦 클래스 코드 (calculator.java)
package ch06.sec08.exam04;
public class calculator {
double areaRectangle(double width) {
return width * width;
}
double areaRectangle(double width, double height) {
return width * height;
}
}
📌 실행 코드 (calculatorExample.java)
package ch06.sec08.exam04;
public class calculatorExample {
public static void main(String[] args) {
calculator cal = new calculator();
double re1 = cal.areaRectangle(10);
double re2 = cal.areaRectangle(10, 20);
System.out.println("정사각형 넓이 : " + re1);
System.out.println("직사각형 넓이 : " + re2);
}
}
💬 코드 설명
- areaRectangle(double width)
→ 한 변만 주어진 정사각형의 넓이를 계산
→ width * width - areaRectangle(double width, double height)
→ 가로와 세로가 다른 직사각형의 넓이를 계산
→ width * height - 메서드 이름은 같지만 매개변수 수가 다르기 때문에 구분 가능
💻 실행 결과
정사각형 넓이 : 100.0
직사각형 넓이 : 200.0
📌 간단 정리
메서드 호출 | 결과 |
areaRectangle(10) | 10 × 10 = 100.0 |
areaRectangle(10, 20) | 10 × 20 = 200.0 |
💡 포인트 정리
- 메서드 오버로딩은 이름이 같아도 매개변수 형태가 다르면 여러 메서드를 정의할 수 있음
- 매개변수의 수 또는 타입이 달라야 함
- 오버로딩을 통해 이름이 같은 메서드를 다양한 상황에 맞게 사용할 수 있어 가독성 향상
- 호출할 때 전달하는 인자에 맞는 메서드가 자동으로 선택됨