[프로그래머스 자바 입문] 메소드 오버로딩(Method Overloading)

최대 1 분 소요

메소드 오버로딩

  • 매개변수의 유형과 개수를 다르게 하여, 같은 이름의 메소드를 여러 개 가질 수 있게 하는 기술
  • 매개변수는 다르지만, 비슷한 기능을 하는 메소드(ex. 매개변수를 더한 뒤 반환)들을 하나의 이름으로 사용할 수 있다.
  • 메소드 오버로딩은 매개변수 부분이 달라야 한다.

    class MyClass2 {
      
      public int plus(int x, int y) { // int 2개
        return x + y;
      }
        
      public int plus(int x, int y, int z) { // int 3개
        return x + y + z;
      }
        
      public String plus(String x, String y) { // String 2개
        return x + y;
      }
    }
    
  • 매개변수명은 다르지만, 매개변수의 타입과 개수가 동일한 메소드를 또 정의할 수는 없다.
    • 2개의 int를 매개변수로 가지는 메소드는 위에서 이미 정의되어 있음
    public int plus(int i, int f) {
      return i + f;
    }
    

오버로딩된 메소드 이용하기

  • 메소드의 인자에 어떤 값이 쓰이느냐에 따라서 각기 다른 메소드가 호출된다.

    public MethodOverloadExam {
    
      public static void main(String[] args) {
    
        MyClass2 m = new MyClass2(); // 객체 생성
    
        System.out.println(m.plus(5, 10)); // int 2개
        System.out.println(m.plus(5, 10, 15)); // int 3개
        System.out.println(m.plus("hello", " world")); // String 2개
          
      }
    }
    

출처