자식 클래스가 상속받고 싶은 부모 클래스를 선택해서 물려 받는 것.
이때 상속받는 클래스를 자식, 하위, 서브 클래스라고 한다.
상속해주는 클래스를 부모, 상위, 슈퍼 클래스라고 한다.
자식 클래스 뒤에 extends를 쓰고 부모 클래스를 쓴다.
주 의 할 점
- 다중 상속을 받는 것은 불가능.
- 즉 단일 상속만 허용.
- 부모 클래스에는 여러 개의 자식 클래스에게 상속 가능.
자식 클래스가 더 다양한 기능이 가능하므로 자식 클래스를 인스턴스로 생성하는 것이 효율적.
super는 부모 클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조할때 사용하는 변수.
super( )는 부모 클래스의 생성자를 호출하는 메소드.
한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 정의할 수 있는 것.
※ 리턴 값만 다른 것은 오버로딩 불가
부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의 하는 것.
자식 클래스에서 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 값이 모두 같아야 함.
오버라이딩 | 오버로딩 |
---|---|
자식 클래스의 접근 제어자 (범위) > 부모 클래스의 접근 제어자 | 모든 접근 제어자 |
리턴형 동일 | 리턴형 달라도 됨 |
메소드명 동일 | 메소드명 동일 |
매개변수 동일 | 매개변수 달라야 됨 |
적용 범위 상속관계 | 적용 범위 같은 클래스 내 |