본문 바로가기

JAVA

[Java] 수업 정리 28 메소드 오버로딩 (24.12.03)

오버로딩(Overloading)

 

1. 정의

오버로딩은 같은 이름의 메서드매개변수의 타입이나 개수를 다르게 정의하는 것입니다.

즉, 하나의 클래스 내에서 같은 이름의 메서드를 여러번 정의 할 수 있습니다.

 

특징

  • 메서드 이름은 같아야 합니다.
  • 매개변수의 개수나 타입이 달라야 합니다.
  • 반환값의 타입은 오버로딩에 영향을 주지 않습니다.

예시코드

class Calculator {
       // 메서드 오버로딩
       int add(int a, int b) {
               return a + b;
       }
       double add(double a, double b) {
               return a + b;
       }
       int add (int a, int b, int c) {
                return a + b + c;
       }
}

public class Main {
         public static void main(String [] args) {
                  Calculator calc = new Calculator();
                  System.out.println(calc.add(3, 4));             // 7
                  System.out.println(calc. add(3.5, 4.5));      // 8.0
                  System.out.println(calc. add(1, 2, 3));        // 6
         }
}

 

  • 언제? 메서드 이름은 같게 유지하면서 다양한 매개변수 조합을 처리하고 싶을 때
  • 어디에서? 같은 클래스 내부에서 사용