Java의 상속 유형: 단일, 다중, 다중 레벨 및 하이브리드

게시 됨: 2021-06-30

소개

프로그래밍 언어 "Java"는 모바일, 웹, 데스크톱 등의 응용 프로그램 개발에 널리 사용됩니다. 1995년 Sun Microsystems에서 개발한 강력한 고급 개체 지향 프로그래밍 언어입니다. 프로그래밍 언어임에도 불구하고 , Java에는 API와 런타임 환경(JRE)이 있으므로 플랫폼이라고도 합니다.

Java에는 언어를 이해하기 위한 네 가지 주요 개념이 포함된 몇 가지 개념이 있습니다. 그것들은 추상화, 캡슐화, 상속 및 다형성입니다.

이 기사에서는 Java의 상속 개념과 Java 상속 유형에 중점을 둘 것입니다 .

상속이란 무엇입니까?

이름에서 알 수 있듯이 상속은 속성을 상속하는 것을 의미합니다. 클래스가 다른 클래스의 속성을 파생하도록 허용하는 메커니즘을 상속이라고 합니다. 상속의 개념으로 프로그램의 정보는 계층적으로 구성될 수 있습니다.

Java에서 상속의 개념을 통해 사용자는 클래스를 생성하고 기존 클래스의 속성을 사용할 수 있습니다.

개념과 관련된 몇 가지 중요한 용어는 다음과 같습니다.

  • 클래스 : 공통 속성을 공유하는 객체의 그룹으로 정의됩니다.
  • 하위 클래스 : 파생 클래스 또는 확장 클래스라고도 하는 이 클래스는 다른 클래스의 기능을 상속합니다. 또한 상속된 필드 및 메서드와 함께 클래스에서 생성된 클래스는 자체 필드 및 메서드를 추가할 수 있습니다.
  • 상위 클래스 : 상위 클래스는 해당 기능이 하위 클래스에 상속된 클래스를 나타냅니다.
  • 재사용성 : 재사용성 기술을 사용하면 사용자가 이미 존재하는 클래스의 필드 또는 메소드를 갖는 클래스(새 클래스)를 생성할 수 있습니다. 코드를 재사용할 수 있습니다.

자바 상속의 중요성

Java에서 상속을 구현 하면 다음과 같은 이점이 있습니다.

  • 상속은 중복 코드를 최소화하여 코드의 복잡성을 최소화합니다. 다른 클래스에서 동일한 코드를 사용해야 하는 경우 해당 클래스에서 하위 클래스로 간단히 상속할 수 있습니다. 따라서 코드가 더 잘 구성됩니다.
  • 코드가 단순한 형태로 구성될수록 코드 실행의 효율성이 높아집니다.
  • 다형성의 개념은 상속과 함께 사용할 수 있습니다.

통사론

기본 구문은

클래스 슈퍼클래스 {

——————

}

클래스 하위 클래스는 상위 클래스를 확장합니다.

{

————–

——————

}

"extens"라는 키워드는 클래스를 상속할 때 사용됩니다. 슈퍼클래스의 기능이 서브클래스로 확장되는 것을 정의합니다.

새로 생성된 클래스를 하위 클래스라고 하고 상속된 클래스를 상위 클래스라고 합니다.

그림 1: Java 상속을 적용하는 코드의 예는 다음과 같습니다.

원천

위의 예에서 두 개의 클래스 Calculation 및 My_Calculation이 생성됩니다. 메서드 add() 및 Subtraction()은 클래스 계산에서 My_Calculation으로 상속됩니다. 키워드 확장은 메서드를 상속하는 데 사용되었습니다.

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다.

그림 2: 그림 1의 코드 출력

원천

My_Calculation 클래스를 생성하면 상위 클래스의 내용이 하위 클래스로 복사됩니다. 하위 클래스의 개체를 사용하여 사용자는 하위 클래스 구성원에 액세스할 수 있습니다.

서브클래스의 멤버를 동일한 이름을 가진 슈퍼클래스의 멤버로 구분해야 하는 특정 경우에는 키워드 "super"가 사용됩니다. 동일한 메소드(예: display())를 갖는 두 개의 클래스 Sub_class와 Super_class가 있다고 가정하면. 메서드의 구현은 다르지만 이름은 같습니다. 이 경우 메서드의 슈퍼클래스와 서브클래스의 메서드를 구분하기 위해 super 키워드를 사용해야 합니다.

Java 상속 유형

Java에서는 다양한 유형의 상속이 관찰됩니다.

1. 단일 레벨 상속

이름에서 알 수 있듯이 이러한 유형의 상속은 단일 클래스에서만 발생합니다. 하나의 클래스만 상위 클래스에서 파생됩니다. 단일 상속의 흐름도는 다음과 같습니다.

그림 3: 단일 수준 상속의 그래픽 그림

원천

두 개의 클래스 클래스 A와 클래스 B가 그림 3 에 나와 있으며 , 여기서 클래스 B는 클래스 A의 속성을 상속합니다.

그림 4 : 단일 수준 상속을 적용하는 코드의 예

원천

2. 다단계 상속

다단계 상속에는 적어도 두 개 또는 두 개 이상의 클래스가 포함됩니다. 한 클래스는 상위 클래스의 기능을 상속하고 새로 생성된 하위 클래스는 다른 새 클래스의 기본 클래스가 됩니다.

그림 5: 다중 수준 상속의 흐름도

원천

그림 5 의 흐름도에서 클래스 B는 클래스 A에서 파생된 클래스이고 클래스 C는 클래스 B에서 더 파생된 것을 볼 수 있습니다. 따라서 조부모 클래스의 개념은 다중 수준 상속에서 존재하게 됩니다. 그러나 조부모 클래스의 멤버는 Java에서 직접 액세스할 수 없습니다.

따라서 그림 5 는 클래스 C가 클래스 A와 클래스 B의 메서드와 속성을 상속하고 있음을 보여줍니다.

아래에는 X, Y, Z 세 개의 클래스가 있는 다중 수준 상속의 예가 나와 있습니다. 클래스 Y는 클래스 Z를 추가로 생성하는 클래스 X에서 파생됩니다.

그림 6: 다중 수준 상속의 예

원천

3. 계층적 상속

여러 하위 클래스가 하나의 단일 클래스에서 상속하는 상속 유형을 계층적 상속이라고 합니다.

그림 7: 계층적 상속의 그래픽 표현.

그림 7 에서 Class B, Class C, Class D의 세 가지 클래스가 단일 Class A에서 상속되었음을 알 수 있습니다. 모든 자식 클래스는 계층적 상속에서 동일한 부모 클래스를 가집니다.

그림 8: 계층적 상속의 개념을 보여주는 코드의 예

원천

위의 코드는 출력을 생성합니다

야옹…

식사…

Java의 이러한 유형의 상속 외에도 다중 상속 및 하이브리드 상속으로 알려진 다른 유형 있습니다. 유형 모두 클래스를 통해 지원되지 않으며 인터페이스를 통해서만 달성할 수 있습니다.

4. 다중 상속

다중 상속은 하위 클래스가 둘 이상의 상위 클래스에서 기능을 상속할 수 있는 상속 유형입니다.

그림 9: 다중 상속의 표현

원천

그림 4는 클래스 C가 클래스 A와 클래스 B에서 파생된 것을 보여줍니다. 즉, 서브클래스 C가 클래스 A와 B의 속성을 상속한다고 설명할 수 있습니다.

5. 하이브리드 상속

하이브리드 상속은 단일 상속과 다중 상속을 결합한 상속 유형입니다. 다중 상속은 Java에서 지원하지 않으므로 하이브리드 상속도 인터페이스를 통해서만 달성할 수 있습니다.

그림 10: 하이브리드 상속의 표현

원천

Java 의 다양한 유형의 상속을 통해 궁극적인 목표는 상위 클래스에서 상속된 속성을 가진 하위 클래스를 만드는 것입니다. 생성된 하위 클래스에는 다음과 같은 다양한 속성이 있습니다.

  • 서브클래스에서 상속된 필드와 메소드를 직접 사용할 수 있습니다.
  • 새로운 필드와 메소드는 슈퍼클래스에 없는 서브클래스에서도 선언할 수 있습니다.
  • 새 인스턴스 메서드는 슈퍼클래스의 메서드와 동일한 서명을 가진 서브클래스에서 만들 수 있습니다. 이 프로세스를 재정의라고 합니다.
  • 새로운 정적 메서드는 슈퍼클래스의 메서드와 동일한 서명을 갖는 서브클래스에서 생성될 수 있습니다. 이 과정을 숨김이라고 합니다.

세계 최고의 대학에서 온라인으로 소프트웨어 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

결론

이 기사에서는 Java의 중요한 상속 개념과 Java 의 상속 유형에 대해 논의했습니다 . 따라서 상속은 클래스의 속성을 다른 클래스로 획득하기 위해 코드를 재사용할 수 있는 메커니즘입니다. 이는 기사에서 볼 수 있는 다양한 유형의 상속 패턴을 통해 달성할 수 있습니다. 그러나 상속의 개념에는 훨씬 더 많은 것이 있습니다. 개발 분야에서 두각을 나타내기 위해서는 복잡한 Java 프로그래밍에 대한 숙달이 필요합니다. 지능형 장치 혁신에 대한 꿈이 있다면 upGrad에서 제공하는 Full-stack Software Development의 Executive PG Program이 최선의 선택이 될 것입니다. 리버풀 존 무어스 대학교( Liverpool John Moores University )에서 인증한 IIT Bangalore와 연계된 이 과정은 500시간 이상의 학습 시간을 제공하며 초기 전문가를 위해 설계되었습니다. upGrad의 과정에서 배운 기술은 소프트웨어 개발, 웹 개발, 자바스크립트 개발자 등의 분야로의 기회를 여는 데 도움이 될 것입니다. 21-45세 연령대의 모든 성별에 개방된 대화형 프로그램은 최고의 선택일 수 있습니다. 모든 코더.

상속이란 무엇입니까?

상속은 새로운 객체가 이전 객체의 속성을 획득하는 과정입니다. 예를 들어 '인간' 클래스를 생각할 수 있습니다. 키, 체중 등과 같이 클래스에 포함시키고 싶은 인간의 속성이 많이 있을 수 있습니다. 따라서 이를 수행하는 한 가지 방법은 해당 속성을 클래스에서 다시 정의하는 것입니다. 객체 지향 프로그래밍을 배우는 좋은 방법일 수 있지만 좋은 방법은 아닙니다. 가장 좋은 방법은 특정 클래스에서 모든 속성을 상속하는 것입니다. 'child' 클래스는 'human'(또는 'parent') 클래스의 모든 속성을 상속할 수 있습니다. 이것을 객체지향 프로그래밍에서 상속이라고 합니다.

객체지향 프로그래밍이란?

다중 상속이란 무엇입니까?