Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

Everything has an expiration date

104 - Java 클래스와 인스턴스 : 메소드 오버로딩(Method OverLoading)이 가능한 형태와 불가능한 형태 본문

[Java]/Program source (java)

104 - Java 클래스와 인스턴스 : 메소드 오버로딩(Method OverLoading)이 가능한 형태와 불가능한 형태

Jelly-fish 2023. 9. 11. 13:14
/*========================================================================
	■■■ 클래스와 인스턴스 ■■■	
	- 메소드 오버로딩(Method Overloading)이 가능한 형태와 불가능한 형태
==========================================================================*/



public class Test104
{
	public static void main(String[] args)
	{
		print();

		print('a');

		print(20);

		print(3.14);
		
		double result = print(3.14);
		// 반환 자료형이 다르다는 건 메소드를 식별하는 과정에서 절대 개입할 수 없다.
		// Java는 대입 연산자에서 오른쪽 항만을 먼저 보기 때문에
		// return 타입을 쳐다 보지도 못한다. 즉, 리턴 자료형 타입은 호출 과정에서
		// 메소드의 구분을 할 수 없게끔 한다.
	}


	public static void print() {}
	//public static void print() {}						//--(Ⅹ)
	public static void print(int i) {}
	//public static void print(int j) {}				//--(Ⅹ)
	// ↑ 매개변수 이름만 다르다. 안 된다.
	public static void print(char c) {}					//-- 자동 형 변환 규칙 check~!!!
	
	// 자동 형변환 규칙에 따라, 만약 'A'를 넘겨줄 경우
	// print(int i)에서 char를 int형으로 자동 형변환 하여 65를 넘겨줄 수도 있기 때문에
	// 항상 조심하면서 사용해야 한다. print('A')는 print(char c) 를 부르는 건 맞다.
	
	public static void print(int i, int j) {}
	public static void print(double d) {}				//-- 자동 형 변환 규칙 check~!!!
	//public static void print(double e) {return 10.0;}	//-- 정의 불가
	//public static double print(double e) {return 10.0;}	//--(Ⅹ) check~!!!



}