Java
메소드 오버로딩

이번에 소개해드릴 내용은 '메소드 오버로딩' 입니다.

클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 메소드 오버로딩(overloading)이라고 한다.

메소드 오버로딩의 조건은 매개변수의 타입,개수,순서 중 하나가 달라야한다.


메소드 오버로딩의 가장 대표적인 예는 System.out.println() 메소드 이다. println() 메소드는 호출할 때 주어진 매개값의 타입에 따라서 오버로딩된 println() 메소드를 호출한다.


예를 들어서 Calculator 클래스를 생성하여 메소드를 만들어 보았다.


double형 타입의 areaRectangle의 메소드이지만 매개변수의 개수가 다른것을 확인할 수 있다.


[Calculator.java] 메소드 오버로딩
public class Calculator {
//정사각형의 넓이
double areaRectangle(double width) {
return width * width;
}
//직사각형의 넓이
double areaRectangle(double width, double height) {
return width * height;
}
}


[CalculatorExample.java] 메소드 오버로딩
public class CalculatorExample {
public static void main(String[] args) {
Calculator myCalcu = new Calculator();
//정사각형의 넓이 구하기
double result1 = myCalcu.areaRectangle(10);
//직사각형의 넓이 구하기
double result2 = myCalcu.areaRectangle(10, 20);
//결과 출력
System.out.println("정사각형 넓이=" + result1);
System.out.println("직사각형 넓이=" + result2);
}
}

댓글 0