⇒ 상속받은 클래스를 통해 객체(인스턴스)를 만들면 다양한 멤버들을 효율적으로 사용 가능(?)
부모클래스(Superclass)의 멤버(필드, 메소드)를 자식클래스(Subclass)에 물려주는 것
자바에선 하나의 클래스만 상속 가능
*Object클래스는 가장 최상위 부모클래스가 상속받은 것으로 봄
자식클래스의 멤버 수는 반드시 부모클래스보다 크거나 같다. (상속받은 멤버+새로만든 멤버)
자식클래스 extends 부모클래스로 표현 (부모클래스에서 확장된 자식클래스)
⇒ 부모클래스를 상속받는다는 의미
★생성자의 상속: 기본생성자만 자동으로 상속받음
⇒ 상속은 결국 부모클래스의 멤버를 사용하는 것이기 때문에, 부모생성자가 있어야 그것들을 사용할 수 있음!
★★ 부모생성자가 오버로딩할 경우 :
자동으로 상속받을 기본생성자가 없기때문에 자식클래스에서 에러발생
⇒ 부모클래스에서 따로 기본생성자를 만들어 상속받거나, super();에 매개변수를 넣어서 오 버로딩한 생성자를 상속받아야 함
부모의 기본생성자를 상속시, 기본생성자는 super();의 형태로 자식생성자 첫째 줄에 자동생성
⇒ 생성자 상속시 부모클래스의 생성자는 자식클래스 생성자의 첫번째 줄에 생성해야함
ex) 부모 > 자식 으로 상속받은 경우 ⇒ 기본생성자이므로 모두 생략되어있음
부모클래스 {
** 기본생성자() { // 생략된 상태**
}
}
자식클래스 extends 부모클래스 {
**기본생성자() { // 생략된 상태**
**super(); // 부모클래스의 기본생성자를 상속받음**
**}**
}
⇒ extends Object (생략)
단축키 : (상속받은 상태에서) Ctrl + Space / Alt + Shift + S ⇒ Override할 메소드 생성