상속이란?
- 객체 지향 프로그램
1) 자식(하위, 파생) 클래스가 부모(상위) 클래스의 멤버를 물려받는 것
2) 자식이 부모를 선택해 물려받음
3) 상속대상 : 부모의 필드와 메서드
class Parent{
String name;
void call(){
System.out.println("이름"+name);
}
}
class Child extends Parent{
//상속을 하는 순간 위에 선언된 부모의 name, call()을 선언한 것과 동일한 효과를 가지고 있다.
String gender; //추가되는 필드
void showAll(){ //추가되는 메서드
call(); // 부모의 메서드를 사용
System.out.println("성별"+gender);
}
}
상속의 개념과 활용
- 상속의 효과
1) 부모 클래스를 재사용해 자식 클래스를 빠르게 개발 가능
2) 반복된 코드의 중복을 줄임
3) 유지 보수의 편리성 제공
4) 객체 다형성 구현 가능
- 상속 대상 제한
1) 부모 클래스의 private 접근 갖는 필드와 메서드 제외
2) 다른 패키지의 default 접근 갖는 필드와 메서드 제외
extends 키워드
- 자식 클래스가 상속할 부모 클래스를 지정하는 키워드
class Child extends Parents{}
- 자바는 단일 상속 - 부모 클래스를 여러개 나열 불가하다