산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java OOP의 상속:예제를 통해 모든 유형 알아보기

상속이란 무엇입니까?

상속 한 클래스가 다른 클래스의 속성을 획득하는 메커니즘입니다. 예를 들어, 아이는 부모의 특성을 물려받습니다. 상속을 통해 기존 클래스의 필드와 메서드를 재사용할 수 있습니다. 따라서 상속은 재사용성을 용이하게 하며 OOP의 중요한 개념입니다.

이 튜토리얼에서는 배우게 될 것입니다-

상속 유형

다음은 Java의 다양한 상속 유형입니다.

단일 상속:

단일 상속에서는 한 클래스가 다른 클래스를 확장합니다(하나의 클래스만).

<중앙>

<그림>

위 다이어그램에서 클래스 B는 클래스 A만 확장합니다. 클래스 A는 상위 클래스이고 클래스 B는 하위 클래스입니다.

다중 상속:

다중 상속은 하나의 클래스가 둘 이상의 클래스를 확장하는 Java 유형의 상속 중 하나입니다. Java는 다중 상속을 지원하지 않습니다.

<중앙>

<그림>

위의 다이어그램에 따라 클래스 C는 클래스 A와 클래스 B를 모두 확장합니다.

다단계 상속:

Multilevel Inheritance에서 하나의 클래스는 파생 클래스에서 상속할 수 있습니다. 따라서 파생 클래스는 새 클래스의 기본 클래스가 됩니다.

<중앙>

<그림>

다이어그램에 표시된 대로 클래스 C는 B의 하위 클래스이고 B는 하위 클래스 A의 하위 클래스입니다.

계층적 상속:

Hierarchical Inheritance에서는 하나의 클래스가 여러 하위 클래스에 상속됩니다.

<중앙>

<그림>

위의 예와 같이 클래스 B, C, D는 동일한 클래스 A를 상속합니다.

하이브리드 상속:

하이브리드 상속은 단일 상속과 다중 상속이 결합된 Java의 상속 유형 중 하나입니다.

<중앙>

<그림>

위의 예에 따라 클래스 A의 모든 public 및 protected 멤버는 클래스 D로 상속되며, 첫 번째는 클래스 B를 통해, 두 번째는 클래스 C를 통해 상속됩니다.

참고: Java는 하이브리드/다중 상속을 지원하지 않습니다.

자바의 상속

자바 상속 한 클래스가 다른 클래스의 속성을 획득하는 메커니즘입니다. Java에서는 두 클래스 사이에 "Is-A" 관계가 있을 때 상속을 사용합니다. 부모 클래스를 슈퍼 클래스라고 하고 상속받은 클래스를 서브 클래스라고 합니다. 키워드 extends 하위 클래스에서 상위 클래스의 기능을 상속하는 데 사용됩니다.

상속은 코드의 재사용으로 이어지기 때문에 중요합니다.

자바 상속 구문:

class subClass extends superClass  
{  
   //methods and fields  
}  

자바 상속의 예

다음은 Java 상속의 예입니다.

<중앙>

<그림>

자바 상속 예제

class Doctor {
 void Doctor_Details() {
  System.out.println("Doctor Details...");
 }
}

class Surgeon extends Doctor {
 void Surgeon_Details() {
  System.out.println("Surgen Detail...");
 }
}

public class Hospital {
 public static void main(String args[]) {
  Surgeon s = new Surgeon();
  s.Doctor_Details();
  s.Surgeon_Details();
 }
}

슈퍼 키워드

super 키워드는 "this" 키워드와 유사합니다.

키워드 super는 상위 클래스의 모든 데이터 멤버 또는 메소드에 액세스하는 데 사용할 수 있습니다.

슈퍼 키워드는 변수, 메서드, 생성자 수준에서 사용할 수 있습니다.

구문:

super.<method-name>();

예제를 통해 OOP에서 상속 알아보기

이전 예와 동일한 뱅킹 애플리케이션을 고려하십시오.

우리는 두 가지 다른 유형의 계좌를 개설해야 합니다. 하나는 저장용이고 다른 하나는 확인용입니다(현재라고도 함).

구조화된 객체 지향 프로그래밍 관점에서 코딩에 접근하는 방법을 비교하고 연구해 보겠습니다.

구조적 접근 :구조적 프로그래밍에서 우리는 두 가지 함수를 만들 것입니다 –

  1. 하나는 철회
  2. 그리고 다른 하나는 입금 작업입니다.

이러한 기능의 작동은 계정 간에 동일하게 유지되기 때문입니다.

OOP의 접근 방식 :OOPs 프로그래밍 접근 방식을 사용하는 동안. 우리는 두 개의 클래스를 만들 것입니다.

소프트웨어의 변경 요청

이제 소프트웨어 업계에서 흔히 볼 수 있는 요구 사항 사양이 변경되었습니다. 당좌 대월 기능이 있는 기능 권한 은행 계좌를 추가해야 합니다. 배경으로, 당좌 대월은 귀하의 계정에서 사용 가능한 잔액보다 많은 금액을 인출할 수 있는 기능입니다.

구조적 접근 방식: 기능적 접근 방식을 사용하여 이미 테스트 및 기준선이 설정된 철회 기능을 수정해야 합니다. 그리고 아래와 같은 방법을 추가하면 새로운 요구 사항을 처리할 수 있습니다.

OOP의 접근 방식: OOP의 접근 방식을 사용하면 철회 기능을 고유하게 구현한 새 클래스를 작성하기만 하면 됩니다. 테스트한 코드를 건드린 적이 없습니다.

또 다른 변경 요청

요구 사항이 더 변경되면 어떻게 됩니까? 고유한 예금 요구 사항이 있는 신용 카드 계정을 추가하는 것을 좋아합니다.

구조적 접근 방식: 구조적 접근 방식을 사용하면 테스트한 입금 코드를 다시 변경해야 합니다.

OOP의 접근 방식 :그러나 객체 지향 접근 방식을 사용하면 고유한 예금 메소드 구현으로 새 클래스를 생성할 수 있습니다(아래 이미지에서 빨간색으로 강조 표시됨).

따라서 구조적 프로그래밍이 처음에는 쉬운 접근 방식처럼 보이지만 장기적으로는 OOP가 이깁니다.

OOP에서 상속의 장점

그러나 모든 클래스에 걸쳐 반복되는 코드 조각이 있다고 주장할 수 있습니다.

이를 극복하기 위해 부모 클래스를 만들고 "account"라고 말하고 동일한 입출금 기능을 구현합니다. 그리고 자식 클래스가 "account" 클래스를 상속받도록 합니다. 계정 클래스에서 출금 및 입금 기능에 액세스할 수 있도록 합니다.

기능을 개별적으로 구현할 필요는 없습니다. 이것은 자바의 상속입니다. .


java

  1. 자바 상속
  2. 예제가 있는 C#의 인터페이스란?
  3. Java의 OOP 개념 | What is, 예제가 있는 기본
  4. 예제가 있는 Java OOP의 캡슐화
  5. Java의 String Length() 메서드:예제로 찾는 방법
  6. 예제가 있는 Java 문자열 charAt() 메서드
  7. Java 문자열 contains() 메소드 | 예제로 하위 문자열 확인
  8. 예제가 포함된 Java 문자열 endWith() 메서드
  9. Java BufferedReader:예제를 사용하여 Java에서 파일을 읽는 방법
  10. 프로그램 예제가 있는 Java의 삽입 정렬 알고리즘