Java 상속 메커니즘에 대한 자세한 설명: 객체 지향 프로그램 구축의 초석
Java의 상속 메커니즘을 사용하면 객체가 상위 객체의 모든 속성과 동작을 상속할 수 있습니다. 이는 객체 지향 프로그래밍(OOP)의 핵심 개념입니다. 상속을 통해 기존 클래스를 기반으로 새 클래스를 만들고, 상위 클래스의 메서드와 필드를 재사용하고, 이를 기반으로 새 메서드와 필드를 추가할 수 있습니다.
상속이란 무엇입니까?
Java 상속 메커니즘을 사용하면 한 클래스(하위 클래스 또는 파생 클래스)가 다른 클래스(슈퍼클래스 또는 상위 클래스)의 속성과 메서드를 상속할 수 있습니다. 하위 클래스는 상위 클래스의 멤버(필드 및 메서드)에 액세스하여 재사용 규칙을 적용하고 클래스 계층 구조를 승격할 수 있습니다. 상속은 부모-자식 관계라고도 알려진 "IS-A" 관계를 구현합니다.
Java 상속을 사용하는 이유는 무엇인가요?
상속 관련 용어
Java 상속 구문
<code class="language-java">class 子类名称 extends 超类名称 { // 方法和字段 }</code>
extends
키워드는 기존 클래스에서 파생된 새 클래스를 만드는 것을 의미합니다. "확장"은 확장된 기능을 의미합니다. Java 용어에서는 상속된 클래스를 상위 클래스 또는 슈퍼클래스라고 하며, 새 클래스를 하위 클래스 또는 하위 클래스라고 합니다.
위 그림을 보면 Programmer
가 서브클래스이고 Employee
가 슈퍼클래스임을 알 수 있습니다. 둘의 관계는 Programmer IS-A Employee
인데, 프로그래머가 일종의 직원이라는 뜻이다.
예: Programmer.java
<code class="language-java">class Employee { float salary = 40000; } class Programmer extends Employee { int bonus = 10000; public static void main(String args[]) { Programmer p = new Programmer(); System.out.println("程序员薪资:" + p.salary); System.out.println("程序员奖金:" + p.bonus); } }</code>
Java 상속 유형
클래스의 상속 관계에 따라 Java 상속은 크게 단일 상속, 다중 계층 상속, 계층 상속의 세 가지 유형으로 구분됩니다.
참고: Java는 클래스를 통한 다중 상속을 지원하지 않습니다.
한 클래스가 여러 클래스로부터 상속받는 경우를 다중 상속이라고 합니다. 예: Java의 다중 상속
단일 상속 예시
한 클래스가 다른 클래스를 상속하는 것을 단일 상속이라고 합니다. 아래 예에서 Dog
클래스는 Animal
클래스에서 상속되므로 단일 상속입니다.
Test계승.java
<code class="language-java">class Animal { void eat() { System.out.println("正在吃..."); } } class Dog extends Animal { void bark() { System.out.println("汪汪..."); } } class Test계승 { public static void main(String args[]) { Dog d = new Dog(); d.bark(); d.eat(); } }</code>
다단계 상속 예시
상속 체인이 있는 경우 이를 다단계 상속이라고 합니다. 아래 예에서 BabyDog
클래스는 Dog
클래스에서 상속되고, 이 클래스는 다시 Dog
클래스에서 상속되므로 다중 수준 상속이 가능합니다. Animal
<code class="language-java">class 子类名称 extends 超类名称 { // 方法和字段 }</code>
계층적 상속 예시
두 개 이상의 클래스가 단일 클래스에서 상속받는 경우를 계층적 상속이라고 합니다. 아래 예에서 Dog
및 Cat
클래스는 모두 Animal
클래스에서 상속되므로 계층적 상속이 적용됩니다.
Test계승3.java
<code class="language-java">class Employee { float salary = 40000; } class Programmer extends Employee { int bonus = 10000; public static void main(String args[]) { Programmer p = new Programmer(); System.out.println("程序员薪资:" + p.salary); System.out.println("程序员奖金:" + p.bonus); } }</code>
Java가 다중 상속을 지원하지 않는 이유는 무엇인가요? (추가예정)
복잡성을 줄이고 언어를 단순화하기 위해 Java는 클래스를 통한 다중 상속을 지원하지 않습니다.
메소드 재작성 및 메소드 오버로딩
final
키워드의 기능
final
키워드는 메소드 재정의 및 클래스 확장을 방지하는 데 사용됩니다.
final
필드: 재지정할 수 없습니다. final
메서드: 재정의할 수 없습니다. final
클래스: 상속할 수 없습니다. 참조 링크: https://www.php.cn/link/9b4192ee086949047cfc64d86d895c2e
위 내용은 계승의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!