오버로딩
2023. 6. 15. 16:12ㆍJava/객체지향
1. 오버로딩이란?
- 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다.
- 이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩' 간단히 '오버로딩'이라고 한다.
2. 오버로딩의 조건
- 메서드 이름이 같아야한다.
- 매개변수의 개수 또는 타입이 같아야한다. (반환타입은 오버로딩을 구현하는 데 아무런 영향을 주지 못한다)
3. 오버로딩의 예
- 가장 대표적인 예시는 println()이다.
- println의 매개변수로 어떤 타입을 넣느냐에 따라 호출되는 println메서드가 달라진다.
4. 오버로딩의 장점
- 같은 기능을 하는 메서드에 매개변수가 다르다는 이유로 모두 다른 이름을 붙이는 것은 작성,기억하는데 어려움이 있다.
- 그러나 오버로딩을 통해 여러 메서드들이 하나의 이름으로 정의될 수 있다면 기억하기도 쉽고 이름 짓는 고민을 덜 수 있다 -> 오류 가능성 줄어듦
5. 가변인자와 오버로딩
- 기존에는 메서드의 매개변수 개수가 고정적이었으나 현재는 동적으로 지정해 줄 수 있게 되었으며, 이 기능을 '가변인자'라고 한다.
- 선언 형식: 타입 ... 변수명