반응형
이번 글에서는 메서드 오버로딩(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 |
💡 포인트 정리
- 메서드 오버로딩은 이름이 같아도 매개변수 형태가 다르면 여러 메서드를 정의할 수 있음
- 매개변수의 수 또는 타입이 달라야 함
- 오버로딩을 통해 이름이 같은 메서드를 다양한 상황에 맞게 사용할 수 있어 가독성 향상
- 호출할 때 전달하는 인자에 맞는 메서드가 자동으로 선택됨
'프로그래밍 > JAVA' 카테고리의 다른 글
49. static 메서드에서 인스턴스 멤버 사용하기 (2) | 2025.04.28 |
---|---|
48. static 필드와 static 메서드 (0) | 2025.04.28 |
47. this를 활용한 메서드 호출과 객체 동작 (0) | 2025.04.28 |
45. 객체의 상태를 제어하는 메서드 활용 (0) | 2025.04.28 |
44. 가변 인자(Varargs)를 이용한 메서드 작성 (0) | 2025.04.28 |
43. 클래스의 메서드 정의와 호출 (0) | 2025.04.25 |