기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미합니다.
기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아서 중복을 제거합니다.
class 자식클래스이름 extends 부모클래스이름 {...}
class Parent {
private int a; // private 변수는 상속되지 않는다.
public int b;
public void display(){
System.out.println("부모클래스 함수");
}
}
class Child extends Parent {
public int c;
public void display(){
System.out.println("자식클래스 함수");
}
}
class Parent {
int a = 10;
}
class Child extends Parent {
int a = 20;
void display() {
System.out.println(a);
System.out.println(this.a);
System.out.println(super.a);
}
}
public class Main {
public static void main(String[] args) {
Child ch = new Child();
ch.display(); /// 20 20 10 출력
}
}