728x90
반응형
메서드 오버로딩
오버로딩 : 파라미터값만 다르게 받는 메서드
만약....
print()기능으로 여러가지 자료형을 출력하고 싶다면 ?
오버로딩을 활용하여 여러가지 자료값을 받아보도록 하자!
ex)
Main
public class Main {
public static void main(String[] args) {
Test t=new Test();
t.show();
t.show(1, 2);
}
}
Test class
public class Test {
void show() {
System.out.println("매개변수 없음");
System.out.println();
}
void show(int x, int y) {
System.out.println("매개변수 있음!!!");
System.out.println("a+b = "+(x+y));
}
}
Test 클래스 안에 메소드 모양을 잘 보자.
메소드 이름은 같지만 파라미터 값이 다르게 들어간다!
출력결과
왜쓰냐고 ??
오버로딩이 아니면 메소드 이름을 다 다르게 만들어야한다.
너무 불편하니까 오버로딩을 잘 활용하자.
가변 길이 인자(or 가변인자)
파라미터 개수가 몇개인지 모를때 사용한다.
메소드를 호출 할 때 파라미터의 개수가 가변적으로 사용되는 경우에 사용한다.
... 연산자를 활용한다
Main
public class Main {
public static void main(String[] args) {
cal.add(5,3,4,5,6);
}
}
add의 파라미터가 몇개인지모른다면 ?? (지금은 5개이지만 다음은 예측하기 어려운상황)
Calculator클래스
public class Calculator {
void add(int... ns) {
//ns는 배열객체가 됨
System.out.println("전달 받은 데이터 개수 : "+ns.length);
for(int t:ns) {
System.out.print(t+" , ");
}
System.out.println();
}
}
...연산자로 파라미터를 써준다.
... : 가변 길이 인자로 인식해라.
출력결과
5개 받았고 그 값까지 잘나온다.
※복합선언
void test(String name, int ... v)
하나의 자료형만 가변인자취급
728x90
반응형
'Java' 카테고리의 다른 글
Java_인스턴스멤버와 Static(정적멤버) (0) | 2023.01.28 |
---|---|
Java_자바의 메모리 (0) | 2023.01.27 |
Java_패키지 (0) | 2023.01.27 |
Java_접근제한자 (0) | 2023.01.27 |
Java_객체 지향 프로그래밍 OOP (0) | 2023.01.27 |