CoDream

[JAVA] 오버로딩(Overloading) 본문

JAVA/JAVA 이론

[JAVA] 오버로딩(Overloading)

코잠 2024. 2. 28. 10:55
728x90
반응형

오버로딩(Overloading)

자바에서 동일한 메서드 이름을 가지고 있지만 매개변수의 타입, 개수, 순서 등이 다른 여러 개의 메서드를 정의하는 것을 말합니다. 이러한 메서드들은 같은 이름을 가지고 있지만 서로 다른 시그니처를 갖습니다.

오버로딩을 사용하면 같은 작업을 수행하는 메서드들을 하나의 이름으로 그룹화하여 사용할 수 있으며, 메서드 이름을 선택적으로 짓는데 유용합니다. 이는 코드의 가독성을 향상시키고 메서드를 호출할 때 메서드 이름만으로도 해당하는 기능을 파악할 수 있게 도와줍니다.

오버로딩의 주요 특징

  1. 메서드 이름동일해야 합니다.
  2. 매개변수의 개수, 타입, 순서가 달라야 합니다.
  3. 리턴 타입은 오버로딩에 영향을 주지 않습니다.
public class Calculator {
    // 정수형 매개변수를 받는 add 메서드
    public int add(int a, int b) {
        return a + b;
    }

    // 실수형 매개변수를 받는 add 메서드 (오버로딩)
    public double add(double a, double b) {
        return a + b;
    }

    // 세 개의 정수형 매개변수를 받는 add 메서드 (오버로딩)
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

**add**라는 메서드를 세 번 정의하였습니다. 각각의 메서드는 매개변수의 타입이나 개수가 다르지만 같은 이름을 가지고 있습니다. 따라서 사용자는 같은 add 메서드를 호출하더라도 전달하는 인수에 따라 적절한 오버로딩된 메서드가 호출됩니다.

오버로딩은 자바에서 많이 사용되며, 자바 API에서도 오버로딩된 메서드들을 많이 찾아볼 수 있습니다. 오버로딩을 통해 코드의 가독성과 재사용성을 높일 수 있습니다.

 


메소드 오버로딩(Method Overloading):

  • 클래스 내부에 동일한 이름의 메소드를 여러 개 정의하는 것을 말합니다.
  • 메소드 오버로딩은 메소드의 시그니처(매개변수의 타입, 개수, 순서)가 서로 다른 경우에 사용됩니다.
  • 메소드 오버로딩은 메소드의 반환 타입이 다른 경우에는 오버로딩되지 않습니다.
  • 메소드 오버로딩은 다형성(Polymorphism)의 한 형태로, 동일한 이름의 메소드를 사용하여 다양한 타입의 인수를 처리할 수 있습니다.

생성자 오버로딩(Constructor Overloading):

  • 클래스 내부에 동일한 이름의 생성자를 여러 개 정의하는 것을 말합니다.
  • 생성자 오버로딩은 생성자의 매개변수의 타입, 개수, 순서가 서로 다른 경우에 사용됩니다.
  • 생성자 오버로딩은 객체의 생성 시 다양한 인수 조합을 허용하고, 객체를 다양한 방법으로 초기화할 수 있도록 합니다.

 

728x90
반응형