글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

목표

자바 함수의 오버라이딩에 대해 이해한다.


 

 

 

코드
package ex05method;

/*
 Method overloading(메소드 오버로딩)
 		: 동일한 이름의 메소드를 두개이상 정의하는 것을 말한다.
 		-메개변수 갯수가 다르거나, 자료형이 다를때 성립한다.
 		-반환타입만 다른 것은 허용하지 않는다.
 		-컴파일러 메소드 호출시 전달되는 파라미터(인자)를 통해
 		호출할 메소드를 구분한다.
 */
public class E07Overloading {
	
	static void person(int juminNum, int milNum) {
		System.out.println("군필자 이시군요");
		System.out.println("주민번호" + juminNum);
		System.out.println("군번 : " + milNum);
	}

	
	static void person(int juminNum) {
		System.out.println("미필자이거나 여성이시군요");
		System.out.println("주민번호 " + juminNum);
	}
	
	//이와같이 반환 타입만 다른 형태는 오버로딩이 성립하지 않는다.
	/*
	static int person(int juminNum) {
		System.out.println("미필자이거나 여성이시군요");
		System.out.println("주민번호 " + juminNum);
		
		return 1;
	}
	*/
	
	public static void main(String[] args) {
		person(123456, 780123);
		System.out.println("===============");
		person(9875654);
	}

}

 

오버로딩은 함수명은 같은데 매개변수 자료형이나 개수가 다른 것을 말합니다. 아주 쉽습니다. 이름을 같은 대신 매개변수 자료형이나 반환값을 보고 비교해 함수를 호출 하는 것입니다. 함수의 반환타입이 다른것으로는 비교할 수 없습니다.

 

 

 

결과 값