본문 바로가기
Kosta DevOps 과정 280기/Java

메소드 중복(Method Overloading)

by 롯슈83 2024. 5. 20.

메소드 중복(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