메소드 오버라이딩(Method Overriding)
메소드 오버라이딩의 개념
- 서브 클래스에서 슈퍼 클래스의 메소드 중복 작성
- 슈퍼 클래스의 메소드 무력화, 항상 서브 클래스에 오버라이딩한 메소드가 실행되도록 보장됨
- “메소드 무시하기”로 번역되기도 함
오버라이딩 조건
- 슈퍼 클래스 메소드의 원형(메소드 이름, 인자 타입 및 개수, 리턴 타입) 동일하게 작성
서브 클래스 객체와 오버라이딩된 메소드 호출 - 오버라이딩한 메소드가 실행됨
오버라이딩의 목적, 다형성 실현
- 하나의 인터페이스(같은 이름)에 서로 다른 구현
- 슈퍼 클래스의 메소드를 서브 클래스에서 각각 목적에 맞게 다르게 구현
- 사례
동적 바인딩 - 오버라이딩된 메소드 호출
super 키워드로 슈퍼 클래스의 멤버 접근
- 슈퍼 클래스의 멤버를 접근할 때 사용되는 레퍼런스
- super.슈퍼클래스의멤버
- 서브 클래스에서만 사용
- 슈퍼 클래스의 필드 접근
- 슈퍼 클래스의 메소드 호출 시
- super로 이루어지는 메소드 호출 : 정적 바인딩
오버로딩 vs. 오버라이딩
Reference
- 명품 자바 에센셜
'Programming Languages > Java' 카테고리의 다른 글
[Java] 자바의 이벤트 처리 (0) | 2021.11.12 |
---|---|
[5장] Java의 추상 클래스와 인터페이스(interface) (0) | 2021.05.04 |
8주차 스터디 인증 (0) | 2021.05.04 |
[5장] Java 상속의 개념과 protected 접근 지정 (0) | 2021.05.04 |
[4장] 객체 배열/메소드 (0) | 2021.04.13 |