개발일지/Java
Java 메서드 오버로딩(Method Overloading)
E-room
2022. 9. 8. 21:11
728x90
하나의 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것
자바 가상 머신은 메서드의 이름 또는 매개변수의 타입이 다르면 다른 메서드라고 인식한다.
메서드 오버로딩을 하려면
- 같은 이름의 메서드명
- 매개변수의 개수나 타입이 다름
public class Overloading {
public static void main(String[] args) {
Shape s = new Shape(); // 객체 생성
s.area(); // 메서드 호출
s.area(5);
s.area(10,10);
s.area(6.0, 12.0);
}
}
class Shape {
public void area() { // 메서드 오버로딩. 같은 이름의 메서드 4개.
System.out.println("넓이");
}
public void area(int r) {
System.out.println("원 넓이 = " + 3.14 * r * r);
}
public void area(int w, int l) {
System.out.println("직사각형 넓이 = " + w * l);
}
public void area(double b, double h) {
System.out.println("삼각형 넓이 = " + 0.5 * b * h);
}
}
//출력값
넓이
원 넓이 = 78.5
직사각형 넓이 = 100
삼각형 넓이 = 36.0
메서드 오버로딩의 장점 : 메서드 하나하나 일일이 이름을 지을 필요가 없다 ^^
728x90