Method Overload는 함수 명을 중복해서 사용하는 것이다.
Overloading의 전제조건
Overload를 하려면 매개변수가 각각 달라야 한다.
위와 같이 매개변수의 갯수가 다르거나, 갯수가 같더라도 자료형이 다르면 된다.
Overloading
package oop0907;
public class Test03_overload {
public static void hap(int a) {
System.out.println(a);
}//hap() end
public static void hap(int a, int b) {
System.out.println(a+b);
}//hap() end
public static void hap(double a) {
System.out.println(a);
}//hap() end
public static void hap(double a, double b) {
System.out.println(a+b);
}//hap() end
public static void main(String[] args) {
// Method Overload 함수명 중복 정의
//-> 함수명을 중복해서 사용할 수 있다
//메소드 오버로딩의 전제조건
//->매개변수의 갯수가 달라야 한다
//->매개변수의 자료형이 달라야 한다
hap(3);
hap(2, 4);
hap(5.6);
hap(9.8, 7.6);
}//main() end
}//class end
public static void hap(double a, double b) {
System.out.println(a+b);
}//hap() end
/*
에러. 함수의 리턴형은 메소드 오버로딩의 조건이 아니다
public static int hap(double a, double b) {
}
*/
리턴형이 다르더라도 매개변수가 동일하면 에러가 발생한다.
예시
Math 클래스의 abs가 overloading이 되어 있음을 볼 수 있다.
//절대값 구하기
System.out.println(Math.abs(-3)); //int형 (기본)
System.out.println(Math.abs(4L)); //long형
System.out.println(Math.abs(5.6f)); //float형
System.out.println(Math.abs(7.8d)); //double형 (기본), d접미사 생략가능
'웹개발 교육 > Java' 카테고리의 다른 글
[31일] Java (18) - Main (0) | 2022.09.07 |
---|---|
[31일] Java (17) - 연습 문제 (0) | 2022.09.07 |
[31일] Java (15) - Method (0) | 2022.09.07 |
[30 ~ 31일] Java (14) - 정렬 (0) | 2022.09.06 |
[30일] Java (13) - 배열 연습문제 (0) | 2022.09.06 |