오버라이딩(overriding) 이란?
- 상속받은 클래스의 메소드 내용을 변경하는 것을 말한다.
오버라이딩의 조건
- 조상 클래스의 메소드와 메소드명, 매개변수 가 같아야 하는 조건이 있다.
- 접근 제어자는 조상 클래스 메소드보다 좁은 범위로 변경이 불가하다.
- 조상 클래스 메소드보다 많은 수의 예외 선언이 불가하다.
- 인스턴스 메소드 <-> static 메소드 상호변경이 불가하다.
오버로딩 vs 오버라이딩
- 오버로딩(overloading) - 새로운 메소드를 정의하는 것.
- 오버라이딩(overriding) - 상속받은 메소드의 내용을 변경하는 것.
super
- 자손클래스에서 조상클래스에서 상속받은 멤버를 참조하는 참조변수이다.
- 생성자의 this 처럼, 조상 멤버와 자손 멤버를 구분하기 위한 것이다.
super()