자바 튜토리얼 - 9 상속
소개
상속은 부모 클래스에서 속성과 동작을 상속하는 하위 클래스를 만드는 메커니즘입니다. 기본적으로 Java에서 생성된 클래스는
Object
클래스에서 자동으로 상속됩니다.일반적으로 부모 클래스는 엔터티의 일반적인 추상화입니다. 하위 클래스는 엔터티의 특정 추상화입니다. 상속 메커니즘은 이 그림에 설명되어 있습니다.
상속 만들기
상속을 만들려면
extends
키워드 다음에 부모 클래스를 사용하십시오. 이 예제에서는 Car
및 RaceCar
라는 두 개의 클래스가 생성됩니다. Car
는 상위 클래스 역할을 하고 RaceCar
는 하위 클래스 역할을 합니다. Car
와 RaceCar
사이의 관계는 아래 그림에 설명되어 있습니다.자동차 등급
public class Car {
private String manufacturer;
private String model;
public Car(String manufacturer, String model) {
this.manufacturer = manufacturer;
this.model = model;
}
public void run() {
System.out.println("Running...");
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
RaceCar 클래스
public class RaceCar extends Car{
// additional field for race car class
private String teamName;
public RaceCar(String manufacturer, String model, String teamName) {
// call the parent's constructor using super()
super(manufacturer, model);
this.teamName = teamName;
}
// implement run() for race car class
@Override
public void run() {
System.out.println("Running with racing spec");
}
public String getTeamName() {
return teamName;
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
}
메인 클래스
public class MyApp {
public static void main(String[] args) {
RaceCar car = new RaceCar("Porsche","911 GT3","Manthey Racing");
car.run();
}
}
산출
Running with racing spec
위의 코드를 기반으로
RaceCar
는 Car
클래스의 모든 필드와 메서드를 확장하므로 Car
클래스 내부의 필드와 메서드는 RaceCar
클래스에서도 사용할 수 있습니다. super()
는 RaceCar
생성자 내부에서 사용되어 부모의 생성자를 호출합니다.RaceCar
클래스는 Car
주석이 있는 run()
라는 @Override
클래스의 메서드를 재정의합니다. @Override
는 기본적으로 이 경우 run()
메서드의 부모 메서드에서 특정 구현을 정의하는 것을 의미합니다.The simple way to understand the inheritance code is replace the
extends
withis a
word.
이 경우
RaceCar
는 Car
이므로 RaceCar
클래스의 객체를 Car
유형의 변수에 저장할 수 있습니다.public class MyApp {
public static void main(String[] args) {
Car raceCar = new RaceCar("Toyota","GT-One","Toyota Racing");
raceCar.run();
}
}
산출
Running with racing spec
위의 cove를 기반으로
run()
메서드는 RaceCar
클래스에서 호출됩니다.메모
Java에서는 다중 상속이 지원되지 않습니다. 다중 상속은 클래스가 많은 부모 클래스를 상속할 수 있음을 의미합니다. 이것은 다중 상속의 예입니다.
다단계 상속은 Java에서 지원됩니다. 이것은 다단계 상속의 예입니다.
출처
이 글이 자바 프로그래밍 언어를 배우는 데 도움이 되었으면 합니다. 생각이나 의견이 있으면 아래 토론 섹션에 작성할 수 있습니다.
Reference
이 문제에 관하여(자바 튜토리얼 - 9 상속), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nadirbasalamah/java-tutorial-9-inheritance-53ip텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)