IT/Java

자바 메소드 오버로딩, 비정형인자, 가변인자 예제소스

노마드오브 2018. 7. 16. 01:04

○ 메소드 오버로딩

    같은 클래스 내에서 메소드 이름을 동일하게 재정의 할 수 있는 것

    

   ● 조건

    매개변수 개수 다르게

    매개변수 개수 같다면 자료형이 다르게

         리턴형은 관계없음


○ 비정형인자, 가변인자

    파라미터를 1차원 배열객체로 전달받음


 리턴형 함수명(자료형...변수명) { 




○ 예제소스


파일명 : Test4.java


package java0713;


class MethodTest3 {

// prn()  정수형 1개 받아서 출력

void prn(int a) {

System.out.println(a);

}


// prn()  정수형 2개 받아서 출력

void prn(int a, int b) {

System.out.println(a + "\t" + b);

}


// prn()  정수형3개 받아서 출력

void prn(int a, int b, int c) {

System.out.println(a + "\t" + b + "\t" + c);

}


// 비정형인자. 가변인자. 1차원 배열객체로 전달받음

void prn(int...num) {

for (int i=0; i<num.length; i++) {

System.out.print(num[i] + "\t");

}

}

} // class MethodTest3



public class Test4 {


public static void main(String[] args) {

MethodTest3 mt = new MethodTest3();

mt.prn(10);

mt.prn(10,20);

mt.prn(10,20,30); 


// 비정형인자로 정의된 메소드인 void prn(int...num)를 호출함

mt.prn(10, 20, 30, 40);  

mt.prn();

} // main()의 끝


}