Method Overloading in Java
포스트 난이도: HOO_Intern
# Example Code
public class ExMethodOverloading {
// Overloaded method for adding two integers
public int add(int num1, int num2) {
return num1 + num2;
}
// Overloaded method for adding three integers
public int add(int num1, int num2, int num3) {
return num1 + num2 + num3;
}
// Overloaded method for adding two doubles
public double add(double num1, double num2) {
return num1 + num2;
}
// Overloaded method for concatenating two strings
public String add(String str1, String str2) {
return str1 + str2;
}
// Alternative method for subtracting two integers
public int subtract(int num1, int num2) {
return num1 - num2;
}
// Alternative method for adding two integers and returning a double
public double addAsDouble(int num1, int num2) {
return num1 + num2;
}
}
public class ExMethodSignatureDemo {
public static void main(String[] args) {
// Creating an instance of ExMethodOverloading
ExMethodOverloading moe = new ExMethodOverloading();
// Example usage with integers
int a = 10, b = 35;
System.out.println("Result of adding two integers: " + moe.add(a, b));
// Example usage with doubles
double c = 29, d = 5;
System.out.println("Result of adding two doubles: " + moe.add(c, d));
// Example usage with int
int e = 29, f = 5;
System.out.println("Result of adding two doubles: " + moe.subtract(e, f));
}
}
# Explanations
이번 포스트에서는 데이터 타입에 따라 메서드(Methods)를 달리하여 입출력 클래스에서 원하는 메서드를 사용하여 결과를 산출해 내는 예제코드이다. 첫 번째 예제코드를 살펴보면 public static void가 별도로 존재하고 있지 않고 두 번째 예제코드에서 public static void가 존재하는 걸 확인할 수 있다. 또한 두 번째 코드에서는 입출력에 대한 부분만 정의되어 있고 출력을 어떻게 할 것인지에 대해서는 정의가 되어있지 않는 걸 알 수 있다. 한마디로 첫 번째 코드는 데이터 타입에 따라 달리 작성된 메서드만 존재하고 두 번째 코드에서 이를 가져다가 사용하는 방식인 셈이다.
두 번째 예제코드에는 double과 int 타입의 숫자를 add, 즉 더하는 메서드를 활용하여 결과를 출력하였고 subtract을 사용해서 integer 타입의 숫자를 뺀 결과를 출력하고 있다. 이 외에도 첫 번째 코드에 선언된 string 메서드를 활용해서 출력 코드에서 이를 활용하여 string 타입의 결과 또한 출력이 가능하다.
따라서 이번 예제코드에서 중점적으로 리뷰를 해야될 부분은 여러 코드로 나눠진 클래스와 메서드들을 어떻게 활용하는지에 대해서 파악할 수 있다. 당장 자바를 배울 때는 하나의 코드에 모든 것을 작성하고 산출해 내도 문제가 없지만 실무에서 코드가 길어지거나 다른 개발자와 작업을 하다 보면 클래스별로 코드를 나눠서 작성하고 관리가 이루어지다 보니 이러한 부분에 대해서 배워볼 수 있다.
# github
https://github.com/WhoisHOO/HOOAI/blob/main/Java_examples/method_overloading
https://github.com/WhoisHOO/HOOAI/blob/main/Java_examples/method_overloading_demo
'Java > Java Examples' 카테고리의 다른 글
[Java Examples] 숫자를 로마 숫자로 바꾸기 예제 코드 및 설명 (2) | 2024.02.14 |
---|---|
[Java Examples] 자바 어레이를 사용해서 오름차순으로 출력하기 (2) | 2024.02.14 |
[Java Examples] 상자 용량, 면적 구하는 예제 및 설명 (1) | 2024.02.07 |
[Java Examples] 상자, 직사각형의 크기를 구하는 예제 및 설명 (2) | 2024.02.05 |
[Java Example Codes] Method overloading, 오버로딩 예제코드 (0) | 2021.03.31 |
댓글