본문 바로가기
study/Java

[Java] 20. 오버로딩 메서드의 선택기준, 오버로딩 조건

by 금이패런츠 2022. 3. 18.
728x90
반응형
package chap6;
/*
 * 오버로딩 메서드의 선택기준
 * 1. 입력된 인자값의 자료형과 메서드의 선언부에 정의된 자료형이 동일한 메서드 선택
 * 2. 1번의 조건이 없는 경우
 *    입력된 인자값의 자료형이 메서드의 선언부에 정의된 자료형으로 자동형변환 되는 메서드 선택
 *    => *동일한 조건의 메서드가 여러개인 경우 오류 발생
 *    
 * 오버로딩 조건
 * 1. 메서드명이 같다.
 * 2. 매개변수가 다르다. (자료형 기준)
 * 3. 리턴타입, 접근제어자, 예외처리는 상관없다. 같아도 되고, 달라도 된다.   
 */
class Math3 {
	int add(int a, int b) {
		System.out.print("1: int int 메서드 결과:");
		return a+b;
	}
	long add(int a, long b) {
		System.out.print("2: int long 메서드 결과:");
		return a+b;
	}
	long add(long a, int b) {
		System.out.print("3: long int 메서드 결과:");
		return a+b;
	}
	long add(long a, long b) {
		System.out.print("4: long long 메서드 결과:");
		return a+b;
	}
}
public class OverloadingEx2 {
	public static void main(String[] args) {
    
		Math3 m = new Math3();
		System.out.println(m.add(10, 10));
		System.out.println(m.add(10, 10L));
		System.out.println(m.add(10L, 10));
		System.out.println(m.add(10L, 10L));
	}
}
728x90
반응형

'study > Java' 카테고리의 다른 글

[Java] 20. 생성자 오버로딩  (0) 2022.03.18
[Java] 20. 생성자  (0) 2022.03.18
[Java] 20. 오버로딩  (0) 2022.03.18
[Java] 19. 클래스와 인스턴스의 호출  (0) 2022.03.18
[Java] 19. Factorial  (0) 2022.03.18