쌍용교육(JAVA)/JAVA

쌍용교육 -JAVA 수업 8일차 Overloading

구 승 2024. 4. 11. 17:16
 package kr.s08.object.method;

public class OverloadingMain01 {
	/*
	 * Method Overloading (중복정의)은 하나의 클래스 내에서 같은 이름을 
	 * 가지는 메서드가 여러 개 정의되는 것을 말함.
	 * 
	 * 메서드명은 동일하게 하고 인자의 타입 또는 개수, 배치된 순서가 다를 경우
	 * 다른 메서드로 인함.
	 */
	public void print(int n) {
		System.out.println("정수 n =" + n);
	}
	public void print(double n) {
		System.out.println("실수 n = "+ n);
	}
	public void print(double n, long a) {
		System.out.println("실수 n ="+n+", 정수 a = "+a);
	}
	public void print(long a , double n ) {
		System.out.println("정수 a ="+a+",실수 n = "+n);
	}
	public static void main(String[] args) {
		OverloadingMain01 om = new OverloadingMain01();
		
		om.print(20);
		om.print(5.6);
		om.print(3.7,1234L);
		om.print(5678L,5.8);
	}
}

정수 n =20
실수 n = 5.6
실수 n =3.7, 정수 a = 1234
정수 a =5678,실수 n = 5.8

package kr.s08.object.method;

public class OverloadingMain02 {
	public void getLength (int n) {
		String s = String.valueOf(n);//int -> string
		getLength(s);
	}
	public void getLength (float n) {
		String s = String.valueOf(n);//float -> string
		getLength(s);
	}
	
	public void getLength (String s) {
		System.out.println(s + "의 길이:" +s.length());
	}
	public static void main(String[] args) {
		OverloadingMain02 om = new OverloadingMain02();
		
		om.getLength(500000); //500000 -> "500000" 처럼 문자로 인식
		om.getLength("Hello");
		om.getLength(3.14f);// 3.14f -> "3.14" f는 자료형을 표현하는거라 사라짐
	}
}

500000의 길이:6
Hello의 길이:5
3.14의 길이:4