개발 수업/JAVA
[Java] 클래스/메소드(메소드 오버로딩(overloading))
오늘 하루s
2023. 5. 12. 20:49
728x90
더보기
Day11-2. 230512
메소드
메소드 오버로딩(overloading)
클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것.
단, 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다.
=> 필요한 이유 : 매개값을 다양하게 받아 처리할 수 있도록 하기위해.
대표적인 예 : System.out.println() 메소드
-> 호출할 때 주어진 매개값의 타입에 따라서 오버로딩된 메소드 중 하나를 호출함.
Calculator01 클래스>
1
2
3
4
5
6
7
8
9
10
11
|
public class Calculator01 {
//메소드
//정사각형 넓이 구하기
double areaRectangle(double width){
return width*width;
}
//직사각형 넓이 구하기
double areaRectangle(double width,double height){
return width*height;
}
|
cs |
Calculator01 실행클래스>
1
2
3
4
5
6
7
|
public class Calculator01_ex {
public static void main(String[] args) {
//Calculator01클래스 객체 생성
Calculator01 calc=new Calculator01();
System.out.println("정사각형넓이="+calc.areaRectangle(10));
System.out.println("직사각형넓이="+calc.areaRectangle(10,2));
}
|
cs |
더보기
* 실행 결과
정사각형넓이=100.0
직사각형넓이=20.0
areaRectangle() 메소드를 오버로딩해서
매개값이 1개이면 정사각형 넓이를, 2개이면 직사각형 넓이를 계산하여 리턴하도록 함.
어떤 메소드가 호출될 것인지는 매개값의 개수에 달려있음.
728x90