백_곰 2021. 1. 7. 14:15

1. 오버 로딩

- 한 클래스 내에서 같은 이름을 가진 2개 이상의 메서드를 아래의 조건이 만족한다면, 정의할 수 있다.

 

(1) 메서드 이름이 같아야 한다.

( 단, 반환 타입은 달라도 괜찮다. )

 

(2) 매개변수의 개수 또는 매개변수의 타입이 달라야 한다.

( 또는 이라는 말은 둘 중 하나의 조건만 맞다면, 오버로딩을 적용할 수 있다는 것이다. )

 

 

 

2. 잘못된 예제(1)

 

( 매개변수의 이름이 다르더라도 갯수가 똑같기 때문에 에러가 발생한다. )

 

 

 

3. 잘못된 예제(2)

 

( 위의 반환 타입 int와 long은 오버 로딩에 아무런 영향을 주지 않기 때문에, 오버 로딩을 할 때

오직 매개변수에만 고려해야 한다. )

 

 

 

4. 올바른 예제(1)

 

( 이렇게 매개변수에 개수를 다르게 함으로써 오버로딩을 가능케 한다. )

 

 

 

5. 올바른 예제(2)

 

( 또한 매개변수의 타입을 다르게 함으로써 오버로딩을 가능케 한다. )

 

 

 

6. 올바른 오버 로딩을 함으로써 얻을 수 있는 기대 효과

- 메서드의 이름을 절약할 수 있다.

 

- 프로그래머에게 여러 가지 기능을 복잡하지 않게 하나의 기능으로 정의할 수 있어서 좋다.