본문 바로가기

JAVA

자바에서 메서드 오버로딩(Method Overloading) 하기

메서드 오버로딩은 자바에서 한 클래스 내에 같은 이름의 메서드를 여러 개 정의할 수 있는 기술입니다.

이 기술을 통해, 같은 이름의 메서드가 다른 매개변수를 받아서 다양한 작업을 수행할 수 있습니다.

 

 

오버로딩의 조건

메서드 오버로딩을 구현하기 위한 조건은 다음과 같습니다:

    • 메서드 이름이 같아야 합니다.
      • 오버로딩된 모든 메서드는 동일한 이름을 공유해야 합니다.
    • 매개변수의 개수, 타입, 또는 순서가 달라야 합니다.
      • 매개변수의 개수, 타입, 또는 순서 중 하나 이상이 달라야 오버로딩이 가능합니다. 예를 들어, 매개변수가 없는 메서드, 한 개의 매개변수를 가진 메서드, 두 개의 매개변수를 가진 메서드 등이 있습니다.
    • 반환 타입은 오버로딩에 영향을 주지 않습니다.
      • 반환 타입이 다르다고 해도 오버로딩이 성립되지 않습니다. 즉, 반환 타입만 다른 경우 중복 정의로 간주되어 컴파일 에러가 발생합니다.

 

예제

  • 다음은 add 메서드를 오버로딩한 예제입니다.

 

예시

 

 

 

장점

메서드 오버로딩은 다음과 같은 장점을 가지고 있습니다.

 

 

코드의 재사용성 증가

  • 같은 기능을 수행하지만, 다른 타입의 데이터를 처리하는 메서드를 하나의 이름으로 묶을 수 있으므로 코드의 재사용성이 높아집니다.

 

 

코드의 가독성 향상

  • 여러 개의 메서드를 각각 다른 이름으로 정의하지 않아도 되므로 코드의 가독성이 향상됩니다. 사용자 입장에서 직관적으로 이해하기 쉬운 API를 설계할 수 있습니다.

 

 

 

유지 보수 용이성

  • 비슷한 기능의 메서드들이 하나의 이름으로 모여있기 때문에, 유지 보수할 때 같은 이름의 메서드만 확인하면 됩니다.

 

 

 

다형성 구현

  • 다형성(polymorphism)의 한 형태로, 같은 이름의 메서드를 호출하더라도 매개변수에 따라 다른 동작을 수행할 수 있어 코드의 유연성이 증가합니다.