본문 바로가기
Back-End/Java

[Java] 메소드 다중정의(method overloading)

by 찐코딩 2021. 8. 16.

메소드 다중정의(method overloading)

  - 동일한 클래스에서 동일한 이름의 메소드가 여러 개 정의되는 자바 문법
  - 일관된 이름을 정의할 수 있어서 개발자(사용자)에게 코드의 직관성을 제공해줌

 

 

메소드 다중정의 규칙

1. 메소드 이름이 동일해야 함

2. 반드시 갯수가 같은 경우 매개변수는 자료형이 다르거나 또는 매개변수의 갯수가 달라야 함

3. 리턴타입(반환형)은 무관함

 

package Method;

import java.util.Scanner;

public class Ex03 {
	
	public static void total(int kor, int eng, int mat) {
		System.out.println("kor, eng, mat sum >> "+(kor+eng+mat));
	}

	public static void total(int su) {
		int sum=0;
		for(int i=1; i<=su; i++ ) {
			sum+=i;
		}
		System.out.printf("1부터 %d까지의 합 >>> %d", su, sum);
	}
	
    
    // 메인 메소드
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		total(95, 88, 92);
		System.out.print("정수를 입력해 주세요 : ");
		total(sc.nextInt());
		
		sc.close();
	}

}

결과

kor, eng, mat sum >> 275
정수를 입력해 주세요 : 3
1부터 3까지의 합 >>> 6

 

동일 클래스 안에 total이라는 이름이 같은 메소드가 2개가 있는데

매개변수의 갯수가 달라 오류가 생기지 않았다.

 

 

댓글