메소드 오버로딩 (method overloading)
포스트
취소

메소드 오버로딩 (method overloading)

메소드 오버로딩(method overloading)이란?

  • 같은 이름의 메소드를 중복하여 정의하는 것
  • 서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로 정의하는 것

자바에서는 원래 한 클래스 내에 같은 이름의 메소드를 둘 이상 가질 수 없다.
하지만 매개변수의 개수나 타입을 다르게 하면, 같은 이름으로 메소드를 작성할 수 있다.

메소드 오버로딩의 특징

  • 메소드 오버로딩을 사용함으로써 메소드에 사용되는 이름을 절약할 수 있다.
  • 메소드를 호출할 때 전달해야 할 매개변수의 타입이나 개수에 대해 신경 쓰지 않고 호출할 수 된다.
  • 메소드 오버로딩은 객체 지향 프로그래밍의 특징 중 하나인 다형성을 구현한다.
  • 메소드를 호출하면, 컴파일러는 자동으로 같은 시그니처를 가지는 메소드를 찾아 호출한다.

메소드 오버로딩의 조건

  • 메소드의 이름이 같아야 합니다.
  • 매개변수의 개수 또는 타입이 달라야 합니다.
  • 반환 타입은 달라도 상관 없다.

사용 예시

  • 메소드 정의
void temp(int num1){}

void temp(int num1, int num2){}

void temp(int num1, double num2){}
  • 메소드 호출
temp(10);       // 1번 display() 메소드 호출 -> 10

temp(10, 20);   // 2번 display() 메소드 호출 -> 200

temp(10, 3.14); // 3번 display() 메소드 호출 -> 13.14
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.