JAVA/포스팅

자바 오버로딩의 예제

짜집퍼박사(짜박) 2023. 11. 8. 15:03

자바에서의 메서드 오버로딩(Overloading) 예제를 통해 더 자세히 살펴보겠습니다. 오버로딩은 동일한 메서드 이름을 사용하지만 매개변수의 개수, 타입 또는 순서가 다른 여러 버전의 메서드를 정의하는 것입니다.

 

public class Calculator {
    // 정수형 두 숫자를 더하는 오버로딩된 메서드
    public int add(int a, int b) {
        return a + b;
    }
    
    // 실수형 두 숫자를 더하는 오버로딩된 메서드
    public double add(double a, double b) {
        return a + b;
    }
    
    // 세 정수를 더하는 오버로딩된 메서드
    public int add(int a, int b, int c) {
        return a + b + c;
    }
    
    // 문자열을 합치는 오버로딩된 메서드
    public String add(String a, String b) {
        return a + b;
    }
}

위의 Calculator 클래스는 다양한 형태의 add 메서드를 정의하여 오버로딩을 구현한 예제입니다. 각각의 add 메서드는 다른 매개변수를 받아들이며, 메서드 이름은 동일합니다.

예제를 사용하는 코드는 다음과 같을 수 있습니다.

public class Main {
    public static void main(String[] args) {
        Calculator calculator = new Calculator();
        
        int sum1 = calculator.add(5, 10); // 정수형 메서드 호출
        System.out.println("Sum1: " + sum1);
        
        double sum2 = calculator.add(3.5, 2.7); // 실수형 메서드 호출
        System.out.println("Sum2: " + sum2);
        
        int sum3 = calculator.add(2, 4, 6); // 세 정수를 더하는 메서드 호출
        System.out.println("Sum3: " + sum3);
        
        String result = calculator.add("Hello, ", "World!"); // 문자열을 합치는 메서드 호출
        System.out.println("Concatenated String: " + result);
    }
}

이 예제에서 메서드 이름은 모두 add이지만, 각각의 메서드는 다른 매개변수를 사용하고 서로 다른 동작을 수행합니다. 이렇게 오버로딩을 활용하면 동일한 메서드 이름을 사용하여 다양한 유형의 작업을 수행할 수 있습니다.

 

With ChatGPT