위의 프로세스결과 동일한 코드가 3번 중복되는 것을 명확하게 볼 수 있습니다. 이렇게 하면 오류 및 데이터 중복 가능성이 높아지게 됩니다. 이러한 유형의 상황을 방지하려면 상속이 사용됩니다. 클래스 Vehicle을 만들고 이 세 가지 함수를 작성하고 차량 클래스에서 나머지 클래스를 상속하면 데이터 중복을 방지하고 재사용성을 높일 수 있습니다. 아래 다이어그램에서 세 클래스가 차량 클래스에서 상속되는 것을 살펴보십시오: 상속을 사용하여 기본 클래스(Vehicle)에서 세 클래스의 나머지 부분을 상속했기 때문에 함수를 한 번만 작성해야 합니다. 상위 클래스에 이미 있는 자식 클래스에서 동일한 메서드를 선언할 때 이 메서드 를 재정의 하는 메서드라고 합니다. 이 경우 자식 클래스 개체에서 메서드를 호출하면 메서드의 자식 클래스 버전이 호출됩니다. 그러나 아래 예제에서 보여 드린 것처럼 super 키워드를 사용하여 부모 클래스 메서드를 호출 할 수 있습니다. 구문 : 클래스 구문을 사용하면 클래스뿐만 아니라 확장 후의 모든 식을 지정할 수 있습니다.
하위 클래스의 생성자는 하위 클래스의 개체를 만들 때 호출되며 기본적으로 super class의 기본 생성자가 호출됩니다. 따라서 상속에서 개체는 하향식으로 생성됩니다. 수퍼클래스 생성자는 수퍼 키워드를 사용하여 명시적으로 호출할 수 있지만 생성자의 첫 번째 문이어야 합니다. 수퍼 키워드는 계층 구조의 호출 클래스 바로 위에 있는 수퍼클래스를 나타냅니다. 직접 상위 클래스 이외의 상위 클래스에 액세스하기 위해 여러 슈퍼 키워드를 사용하는 것은 허용되지 않습니다. 아래 예제에서는 비 메서드 구문을 비교하는 데 사용됩니다. [[HomeObject]] 속성이 설정되지 않고 상속이 작동하지 않습니다: 상속 유형을 자세히 알아보려면 Java의 상속 유형을 참조하십시오. 단일 상속: 클래스가 다른 클래스를 확장하는 자식 및 상위 클래스 관계를 나타냅니다. 다중 상속에서 한 클래스가 두 개 이상의 클래스를 확장합니다. Java는 여러 상속을 지원하지 않습니다.
기본 클래스에서 클래스를 파생할 때 기본 클래스는 공용, 보호 또는 개인 상속을 통해 상속될 수 있습니다. 상속 유형은 위에서 설명한 대로 액세스 지정자에서 지정합니다. 우리는 상속의 원리가 어떻게 작동하는지 보여주기 위해 파이썬 튜토리얼의 이전 장에서 우리의 사랑하는 로봇 또는 더 나은 로봇 클래스를 고수할 것입니다. 우리는 로봇에서 상속 클래스 의사 로봇을 정의합니다. 클래스가 상속되는 클래스를 부모 또는 수퍼 클래스라고 합니다. 수퍼 클래스에서 상속되는 클래스를 하위 클래스라고도 하며 상속자 클래스 또는 자식 클래스라고도 합니다. 슈퍼 클래스는 때때로 조상이라고도합니다. 클래스 간에 계층 관계가 있습니다. 그것은 우리가 실제 생활에서 알고있는 관계 또는 분류와 유사합니다.
예를 들어 차량에 대해 생각해 보십시오. 자전거, 자동차, 버스 및 트럭은 차량입니다. 픽업, 밴, 스포츠카, 컨버터블 및 부동산 자동차는 모두 자동차이며 자동차이기 때문에 차량입니다. 우리는 파이썬에서 가속 및 브레이크와 같은 방법을 가질 수있는 차량 클래스를 구현 할 수 있습니다. 자동차, 버스 및 트럭 과 자전거는 차량에서 이러한 방법을 상속하는 하위 클래스로 구현 될 수있다. 복잡성을 줄이고 언어를 단순화하기 위해 java에서는 다중 상속이 지원되지 않습니다. 하이브리드 상속: 단일 프로그램에서 두 개 이상의 상속 유형의 조합입니다.