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
'개발일지 > Java' 카테고리의 다른 글
Java 내부 클래스 (Inner class) (0) | 2022.09.09 |
---|---|
Java 생성자(Constructor) (0) | 2022.09.08 |
Java 메서드 (Method) (0) | 2022.09.08 |
Java 필드(Field) (0) | 2022.09.08 |
Java 클래스(Class)와 객체(Object) (0) | 2022.09.08 |