자바 Java/문법 - 객체 지향
메소드 오버로딩
하나비 HANABI
2022. 1. 4. 14:27
클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것
하나의 메소드 이름으로 다양한 매개값 받기 위해 메소드 오버로딩을 함
오버로딩의 조건: 매개변수의 타입, 개수, 순서가 달라야함
<Calculator.java>
public class Calculator {
void powerOn() {
System.out.println("전원을 켭니다");
}
int plus(int a, int b) {
int result = a + b;
return result;
}
double divide(int a, int b) {
double result = (double) a / (double) b;
return result;
}
void powerOff() {
System.out.println("전원을 끕니다");
}
double calcRectArea(double width) { // 정사각형의 넓이 구하기
return width * width;
}
double calcRectArea(double width, double height) { // 직사가경의 넓이 구하기
return width * height;
}
}
calcRectArea 메소드가 오버로딩 됨
<CalculatorEx.java>
public class CalculatorEx {
public static void main(String[] args) {
Calculator calc = new Calculator();
calc.powerOn();
System.out.println(calc.plus(100, 200));
System.out.println(calc.divide(125, 54));
calc.calcRectArea(5);
calc.calcRectArea(20, 30);
calc.powerOff();
}
}