지난번 열거형(Enumeration)에 이어서
이번글에서는 함수 오버로딩(Method Overloading)에
대해서 알아보겠습니다.
함수 오버로딩(Method Overloading)
함수 오버로딩은 함수명은 같지만
매개변수의 타입 또는 개수가 다른 함수들을 말합니다.
먼저 예시를 보고 더 자세히 살펴보겠습니다.
class Calculator{
int add(int a, int b){
return a + b;
}
int add(int a, int b, int c){
return a + b + c;
}
double add(double a, double b){
return a + b;
}
double add(double a, double b, double c){
return a + b + c;
}
}
위에서 보는 것과 같이 함수명은 같지만
매개변수의 구성이 다른 함수들을
작성하는 것을 함수 오버로딩이라고 합니다.
위와 같이 두 함수의 함수명이 같다면
매개변수명이 다를지라도 같은 매개변수 타입 그리고
매개변수 개수를 가진다면 자바에서는
함수가 중복되었다고 인식합니다.
반환값이 int 와 double로 다를지라도
함수명이 같고 매개변수 구성이 같다면
자바에서는 같은 함수로 인식합니다.
따라서 함수 오버로딩을 할 경우에는
같은 매개변수 구성을 사용하지 않도록
주의해야 합니다.
함수 오버로딩은 위 계산기 예시와 같이
같은 행위를 수행하지만 매개변수들을
다르게 해야 할 때 유용하게 사용됩니다.
그럼 지금까지 함수 오버로딩(Method Overloading)에
대해서 알아보았습니다.
다음 글에서는 다형성(Polymorphism)에 대해서
알아보겠습니다.
'자바(JAVA) 기초 함께 알아보자' 카테고리의 다른 글
자바(JAVA) 기초 함께 알아보자(25) - 다중 상속 / 인터페이스(Interface) (0) | 2025.02.09 |
---|---|
자바(JAVA) 기초 함께 알아보자(24) - 다형성(Polymorphism) (0) | 2025.01.23 |
자바(JAVA) 기초 함께 알아보자(22) - 열거형(Enumeration) (0) | 2025.01.14 |
자바(JAVA) 기초 함께 알아보자(21) - 상수(Constant) / static (0) | 2025.01.08 |
자바(JAVA) 기초 함께 알아보자(20) - 예외처리(Exception) (2) | 2025.01.02 |