오버라이딩(Overriding)
정의
- 슈퍼 클래스의 메소드를 서브 클래스에서 재정의(수정)하여 다형성을 구현하는 기법
조건
- 메소드 시그니처가 동일해야 함
- 메소드 이름
- 매개변수(개수, 타입, 순서)
- 반환 타입이 동일해야 함
- 접근 제어자
- private 메소드는 오버라이딩 불가능
- 범위가 슈퍼 클래스의 메소드보다 넓거나 같아야 함
public > protected > package-private
- 예외의 개수가 슈퍼 클래스의 메소드보다 적거나 같아야 함
- 메소드가 static이 아니어야 함
- 메소드가 final이 아니어야 함
오버로딩(Overloading)
정의
- 같은 클래스 내에서 동일한 이름의 메서드를 매개변수(개수, 타입, 순서)를 다르게 하여 여러 개 정의하는 기법
조건
- 메소드 시그니처가 달라야 함
- 메소드 이름
- 매개변수(개수, 타입, 순서)
'Language > Java' 카테고리의 다른 글
생성자(Constructor), this(), super() (0) | 2022.07.17 |
---|---|
변수, 메소드, this, super (0) | 2022.07.17 |
초기화 블록(Initialization block) (0) | 2022.07.17 |
배열(Array) (0) | 2022.07.17 |
소수점 자르기 (0) | 2022.06.14 |