public class MethodTest04 {//타입의 위치만 바꿔서 메서드 오버로딩
	public void make(int a, double b){
		System.out.println("int 형 데이터 : "+ a);
		System.out.println("double 형 데이터 : "+ b);
	}
	public void make(double b, int a){
		System.out.println("int 형 데이터 : "+ a);
		System.out.println("double 형 데이터 : "+ b);

	}
	public static void main (String[] args){
		MethodTest04 mt = new MethodTest04();
		mt.make(50,3.14d);
		System.out.println("=================");//구분선
		mt.make(6.78d,100);
	}
}

int 형 데이터 : 50

double 형 데이터 : 3.14
=================
int 형 데이터 : 100
double 형 데이터 : 6.78


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

예비  (0) 2012.04.11
전달인자의 개수가 다른 메서드 오버로딩  (0) 2012.04.11
전달인자의 자료형이 다른 메서드 오버로딩  (0) 2012.04.11
메소드 오버로딩2  (0) 2012.04.11
메소드 오버로딩  (0) 2012.04.11
public class MethodTest03 {//전달인자의 개수가 다른 메서드 오버로딩
	//정수형 데이터 3개를 형식 매개변수로 갖는 prn 메서드 정의
	void prn(int a, int b, int c){
		System.out.println(a + "\t" + b +"\t"+ c);
	}
	//정수형 데이터2개를 형식 매개변수로 갖는 prn 메서드 정의
	void prn(int a, int b){
		System.out.println(a + "\t" + b);
	}
	//정수형 데이터 1개를 형식 매개변수로 갖는 prn 메서드 정의
	void prn(int a){
		System.out.println(a);
	}
	public static void main(String[] args){
		MethodTest03 mt = new MethodTest03();
		mt.prn(10,20,30); //정수형 데이터 3개를 실매개변수로 지정
		mt.prn(40,50); 	//정수형 데이터 2개를 실매개변수로 지정
		mt.prn(60); 	//정수형 데이터 1개를 실매개변수로 지정

	}
}

10 20 30

40 50
60


오버로딩 규칙
1.이름이같아야한다.
2.전달되는 인자의 타입,갯수,순서 에따라 구분된다.

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

예비  (0) 2012.04.11
타입의 위치만 바꿔서 메서드 오버로딩  (0) 2012.04.11
전달인자의 자료형이 다른 메서드 오버로딩  (0) 2012.04.11
메소드 오버로딩2  (0) 2012.04.11
메소드 오버로딩  (0) 2012.04.11
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


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

예비  (0) 2012.04.11
타입의 위치만 바꿔서 메서드 오버로딩  (0) 2012.04.11
전달인자의 개수가 다른 메서드 오버로딩  (0) 2012.04.11
메소드 오버로딩2  (0) 2012.04.11
메소드 오버로딩  (0) 2012.04.11
public class OverloadingTest2 {//메소드 오버로딩2
	public void getLength(int n){ //1000
		String s = String.valueOf(n); //"1000"으로 바뀜 문자열
		//valueOf가 타입을 바꿔서 String으로 바꾼다
		getLength(s);//메소드 내에서 또다른 메소드를 호출할 수 있다
	}
	void getLength(float n){//3.14f
		String s = String.valueOf(n); 
		//"3.14" f는 실제 데이터가 아닌 타입 명시 기에 사라짐
		getLength(s);
	}
	private int getLength(String str){//"10000"
		System.out.println("입력한 값의 길이 : "+str.length());
		return 0;
	}


	public static void main(String[] args){
		OverloadingTest2 ot2 = new OverloadingTest2();

		ot2.getLength(1000);
		//getLength로 값의 길이를 측정받는다
		ot2.getLength(3.14f);
		ot2.getLength("10000");
	}
}

입력한 값의 길이 : 4

입력한 값의 길이 : 4
입력한 값의 길이 : 5


public class OverloadingTest {//메소드 오버로딩
	public void make(int a){
		System.out.println("int 형 데이터 : "+a);
	}
	public void make(double b){
		System.out.println("double 형 데이터 : "+b);
	}
	//int 를 double로 바꾸니 충돌이 일어나지 않는다(메소드 오버로딩)
	
	public static void main(String[] args){
		OverloadingTest ov = new OverloadingTest();
		ov.make(2.0);
		ov.make(10);
		//기능이 같기 때문에 알아서 자신이 필요한곳에 들어간다
		//기능이 같을 경우만 메소드 오버로딩을 쓴다
	}
}

double 형 데이터 : 2.0

int 형 데이터 : 10


+ Recent posts