메소드 중복(Method Overloading)
정의
- 같은 이름의 메소드를 중복하여 정의하는 것
- 매개변수의 개수가 다르거나 자료형이 달라야 한다.
package com.kosta.exam01;
public class MyUtil {
//두 개의 정수를 매개변수로 전달받아 그 중에 큰 수를 찾아서 반환하는 메소드를 정의한다.
/*
public int getMax(int n1, int n2) {
int max;
max = n1;
if(max < n2)
max = n2;
return max;
}*/
//두 개의 실수를 매개변수로 전달받아 그 중에 큰 수를 찾아서 반환하는 메소드를 정의한다.
public double getMax(double a, double b) {
a = (b > a)? b : a;
return a;
}
//실수형 배열을 매개변수로 전달받아 그 중에 가장 큰 수를 찾아서 반환
public double getMax(double []arr){
double max;
max = arr[0];
for(int i = 0; i< arr.length;i++) {
if(arr[i] > max )
max = arr[i];
}
return max;
}
}
package com.kosta.exam01;
public class D01MethodOverloadingTest {
public static void main(String[] args) {
MyUtil util = new MyUtil();
System.out.println(util.getMax(3,4));
System.out.println(util.getMax(3.1,27.7));
//int 는 자동으로 double 에 포함된다.
double []data = {3.6, 16.7, 16, 72, 17.3};
System.out.println(util.getMax(data));
//int 형의 배열을 getMax에게 전달
//자동으로 double 형으로 변환되서 문제없이 반환될 것 같다.
/*
int []data2 = {35, 16, 17, 16};
System.out.println(MyUtil.getMax(data2));*/
// 자동 형변환이 되지 않는 이유
//기본 자료형 변수 int 는 double에 포함되지만 배열은 오류가 발생한다.
}
}
'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글
접근명시자 정리 (0) | 2024.05.20 |
---|---|
객체 지향 프로그래밍 특징2 - 상속성 (0) | 2024.05.20 |
Class-3 (0) | 2024.05.17 |
Class-2 (0) | 2024.05.16 |
Class-1 (0) | 2024.05.16 |