[Java] Overloading과 Overriding

✔️ Overloading
- 기존에 없던 새로운 메서드를 정의함
- 메서드의 이름은 같고 매개변수의 갯수나 타입이 다른 함수를 정의하는 것
- 리턴값만 다르게 갖는 오버로딩은 작성 불가
장점
- 다른 매개변수에 대해 같은 기능을 하는 메서드를 같은 이름으로 나타낼 수 있음
✔️ Overriding
- 상속 받은 메서드의 내용만 변경함
- 상위 클래스의 메서드를 하위 클래스가 재정의 하는 것
- 메서드의 이름, 매개변수의 갯수나 타입 모두 동일해야 하며 주로 상위 클래스의 동작을 상속받은 하위 클래스에서 변경하기 위해 사용됨
| 구분 | 오버로딩 | 오버라이딩 |
|---|
| 메서드 이름 | 동일 | 동일 |
| 매개변수, 타입 | 다름 | 동일 |
| 리턴 타입 | 상관 없음 | 동일 |