메서드 오버로딩과 가변 인자는 자바에서 메서드의 다양한 호출 방식과 유연성을 제공하는 중요한 개념입니다. 이를 통해 동일한 메서드 이름으로 다양한 매개변수를 처리하거나, 가변 개수의 인자를 전달할 수 있게 됩니다.
메서드 오버로딩
메서드 오버로딩은 같은 이름의 메서드를 여러 개 정의하되, 매개변수의 개수나 타입이 다르게하여 다양한 상황을 처리하는 개념입니다. 이는 메서드의 이름을 통일하면서도 다양한 형태의 호출을 지원하여 코드의 가독성과 재사용성을 높이는데 도움이 됩니다.
메서드 오버로딩 예제
public class Example {
public static void main(String[] args) {
int sumInt = add(5, 10);
double sumDouble = add(2.5, 3.7);
System.out.println("정수 합계: " + sumInt);
System.out.println("실수 합계: " + sumDouble);
}
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
}
메서드 오버로딩 주의사항
반환타입은 오버로딩을 구현하는데 관계가 없습니다. 메서드 시그니처는 동일하고 반환타입만 다를 경우 오버로딩은 되지 않습니다.
가변 인자
가변 인자는 메서드에 동적인 개수의 인자를 전달할 수 있게 해주는 기능입니다. 메서드 정의에서 매개변수 타입 뒤에 ...을 붙이는 형식으로 사용합니다. 동일한 타입의 인자를 여러 개 받는 경우에 유용합니다.
가변 인자 예제
public class Example {
public static void main(String[] args) {
int sum1 = addNumbers(1, 2, 3);
int sum2 = addNumbers(5, 10, 15, 20);
System.out.println(sum1); // 6
System.out.println(sum2); // 50
}
public static int addNumbers(int... nums) {
int sum = 0;
for (int num : nums) {
sum += num;
}
return sum;
}
}
'JAVA > 객체 지향 프로그래밍' 카테고리의 다른 글
[JAVA] 클래스의 정의와 구조 (0) | 2023.08.15 |
---|---|
[JAVA] 재귀 메서드와 재귀 호출 (0) | 2023.08.11 |
[JAVA] 메서드 인자 전달 방식(Call by Value / Call by Reference) (0) | 2023.08.11 |
[JAVA] 메서드의 개념과 정의 (0) | 2023.08.11 |
[JAVA] 객체 지향 프로그래밍의 개념과 특징 (0) | 2023.08.10 |