메서드 오버로딩은 자바에서 한 클래스 내에 같은 이름의 메서드를 여러 개 정의할 수 있는 기술입니다.
이 기술을 통해, 같은 이름의 메서드가 다른 매개변수를 받아서 다양한 작업을 수행할 수 있습니다.
오버로딩의 조건
메서드 오버로딩을 구현하기 위한 조건은 다음과 같습니다:
- 메서드 이름이 같아야 합니다.
- 오버로딩된 모든 메서드는 동일한 이름을 공유해야 합니다.
- 매개변수의 개수, 타입, 또는 순서가 달라야 합니다.
- 매개변수의 개수, 타입, 또는 순서 중 하나 이상이 달라야 오버로딩이 가능합니다. 예를 들어, 매개변수가 없는 메서드, 한 개의 매개변수를 가진 메서드, 두 개의 매개변수를 가진 메서드 등이 있습니다.
- 반환 타입은 오버로딩에 영향을 주지 않습니다.
- 반환 타입이 다르다고 해도 오버로딩이 성립되지 않습니다. 즉, 반환 타입만 다른 경우 중복 정의로 간주되어 컴파일 에러가 발생합니다.
예제
- 다음은 add 메서드를 오버로딩한 예제입니다.

장점
메서드 오버로딩은 다음과 같은 장점을 가지고 있습니다.
코드의 재사용성 증가
- 같은 기능을 수행하지만, 다른 타입의 데이터를 처리하는 메서드를 하나의 이름으로 묶을 수 있으므로 코드의 재사용성이 높아집니다.
코드의 가독성 향상
- 여러 개의 메서드를 각각 다른 이름으로 정의하지 않아도 되므로 코드의 가독성이 향상됩니다. 사용자 입장에서 직관적으로 이해하기 쉬운 API를 설계할 수 있습니다.
유지 보수 용이성
- 비슷한 기능의 메서드들이 하나의 이름으로 모여있기 때문에, 유지 보수할 때 같은 이름의 메서드만 확인하면 됩니다.
다형성 구현
- 다형성(polymorphism)의 한 형태로, 같은 이름의 메서드를 호출하더라도 매개변수에 따라 다른 동작을 수행할 수 있어 코드의 유연성이 증가합니다.
'JAVA' 카테고리의 다른 글
| 자바에서 사용하는 Getter와 Setter 알아보기 (0) | 2024.12.13 |
|---|---|
| 자바에서 사용하는 생성자(Constructor)에 대해 알아보기 (1) | 2024.12.13 |
| 자바에서 사용하는 메서드(Method)에 대해 알아보기 (0) | 2024.12.12 |
| JAVA에서 사용하는 클래스와 객체에 대한 이해 (0) | 2024.12.10 |
| JAVA에서 반복문과 배열 사용하기 (3) | 2024.12.09 |