메소드 오버로딩(method overloading)이란?
- 같은 이름의 메소드를 중복하여 정의하는 것
- 서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로 정의하는 것
자바에서는 원래 한 클래스 내에 같은 이름의 메소드를 둘 이상 가질 수 없다.
하지만 매개변수의 개수나 타입을 다르게 하면, 같은 이름으로 메소드를 작성할 수 있다.
메소드 오버로딩의 특징
- 메소드 오버로딩을 사용함으로써 메소드에 사용되는 이름을 절약할 수 있다.
- 메소드를 호출할 때 전달해야 할 매개변수의 타입이나 개수에 대해 신경 쓰지 않고 호출할 수 된다.
- 메소드 오버로딩은 객체 지향 프로그래밍의 특징 중 하나인 다형성을 구현한다.
- 메소드를 호출하면, 컴파일러는 자동으로 같은 시그니처를 가지는 메소드를 찾아 호출한다.
메소드 오버로딩의 조건
- 메소드의 이름이 같아야 합니다.
- 매개변수의 개수 또는 타입이 달라야 합니다.
- 반환 타입은 달라도 상관 없다.
사용 예시
- 메소드 정의
- 메소드 호출