note

전달인자의 자료형이 다른 메서드 오버로딩 본문

자바/오버로딩

전달인자의 자료형이 다른 메서드 오버로딩

투한 2011. 12. 15. 16:45
public class MethodTest02 {//전달인자의 자료형이 다른 메서드 오버로딩
	//int 형 데이터에 대해서 절대값을 구하는 메서드 정의
	int abs(int num){
		if(num<0)
			num=-num;
		return num;
	}
	//long 형 데이터에 대해서 절대값을 구하는 메서드 정의
	long abs(long num){
		if(num<0)
			num=-num;
		return num;
	}
	//double 형 데이터에 대해서 절대값을 구하는 메서드 정의
	double abs(double num){
		if(num<0)
			num=-num; //음수일 경우 양수로
		return num;
	}
	
	//전달되는 타입만 다르고 로직은 모두 같다
	public static void main(String[] args){
		MethodTest02 mt = new MethodTest02();
		
	//전달인자가 int형이므로03:의 int형 데이터에 대해서 절대값을 구하는 메서드 호출
	int var01=-10, var02;
	//같으므로 int로 찾아 간다
	var02=mt.abs(var01);
	System.out.println(var01 + "의 절대값은 . -> "+var02);
	
	//전달인자가 long형이므로09:의 long형 데이터에 대해서 절대값을 구하는 메서드 호출
	long var03=-20L, var04;
	var04=mt.abs(var03);
	System.out.println(var01 + "의 절대값은 . -> "+var04);
	
	//전달인자가 double형이므로15:의 double형 데이터에 대해서 절대값을 구하는 메서드 호출
	double var05=-3.4, var06;
	var06=mt.abs(var05);
	System.out.println(var05 + "의 절대값은 . -> "+var06);
	}
}

-10의 절대값은 . -> 10
-10의 절대값은 . -> 20
-3.4의 절대값은 . -> 3.4