Java에서 두 개의 클래스 확장

Mohammad Irfan 2023년10월12일
  1. Java에서 클래스 확장
  2. Java에서 두 개의 클래스 확장
  3. Java에서 두 개의 인터페이스 확장
Java에서 두 개의 클래스 확장

이 자습서에서는 Java에서 두 개 이상의 클래스를 확장하는 방법을 소개합니다. 주제를 이해하는 데 도움이 되는 몇 가지 예제 코드도 포함되어 있습니다.

상속은 클래스의 속성에 액세스하기 위해 클래스를 다른 클래스로 확장할 수 있는 Java OOP 기능입니다. Java는 클래스를 모든 클래스로 확장할 수 있지만 제한이 있습니다. 이는 클래스가 한 번에 하나의 클래스만 확장할 수 있음을 의미합니다. 둘 이상의 클래스를 확장하면 코드 실행 실패가 발생합니다.

클래스가 클래스를 확장하는 경우 이를 단일 상속이라고 합니다. 클래스가 둘 이상의 클래스를 확장하는 경우 Java에서는 허용되지 않는 다중 상속이라고 합니다.

몇 가지 예를 보고 완전한 개념을 이해합시다.

Java에서 클래스 확장

Java는 다중 상속을 허용하지 않습니다. 이 예에서는 두 개의 클래스를 만들었습니다. 클래스는 다른 클래스로 확장되고 제대로 실행됩니다. 이것은 Java가 단일 클래스의 확장을 허용한다는 것을 의미합니다. 그래도 두 개의 클래스를 확장하면 어떻게 될까요? 우리는 아래의 다음 예에서 이것을 볼 것입니다.

class Run {
  int speed;
  void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
  public class SimpleTesting extends Run {
    public static void main(String[] args) {
      SimpleTesting run = new SimpleTesting();
      run.showSpeed();
      run.speed = 20;
      run.showSpeed();
    }
  }
}

출력:

Current Speed : 0
Current Speed : 20

Java에서 두 개의 클래스 확장

이 예제 메서드에서 클래스는 다중 상속을 의미하는 두 개의 클래스를 확장합니다. Java는 이 프로세스를 허용하지 않으므로 코드가 실행되지 않고 컴파일 시간 오류가 발생합니다. 아래 예를 참조하십시오.

class Run {
  int speed;
  void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
}
class Car {
  String color;
  int topSpeed;
}
public class SimpleTesting extends Run, Car {
  public static void main(String[] args) {
    SimpleTesting run = new SimpleTesting();
    run.showSpeed();
    run.speed = 20;
    run.showSpeed();
  }
}

출력:

error

Java에서 두 개의 인터페이스 확장

두 개의 클래스는 허용되지 않지만 클래스는 Java에서 두 개의 인터페이스를 확장할 수 있습니다. 이 언어를 사용하면 클래스에서 두 개 이상의 인터페이스를 확장할 수 있습니다. 이 코드는 오류 없이 원활하게 실행됩니다. 따라서 다중 상속을 확장하려면 인터페이스를 사용하는 것이 좋습니다. 아래 예를 참조하십시오.

interface Run {
  int speed = 10;
  static void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
}

interface Car {
  String color = "Red";
  int topSpeed = 100;
}

public class Main implements Run, Car {
  public static void main(String[] args) {
    Main run = new Main();
    Run.showSpeed();
    System.out.println("Top Speed " + Car.topSpeed);
  }
}

출력:

Current Speed : 10
Top Speed 100

관련 문장 - Java Class