Java에서 확장 대 구현

Rupam Yadav 2023년10월12일
  1. Java에서extends키워드를 사용하여 클래스 상속
  2. Java에서implements키워드를 사용하여 인터페이스 상속
Java에서 확장 대 구현

Java에서 주어진 부모 클래스의 속성과 동작을 재사용하기 위해 객체 지향 프로그래밍 언어의 중요한 부분 인 상속 개념을 사용합니다. 그이면의 아이디어는 코드 재사용 성입니다. implementsextends키워드는 모두 상위 클래스의 속성을 가진 Java에서 새 클래스를 작성하는 데 사용됩니다.

아래 표를 사용하여extendsimplements키워드를 더 잘 이해할 수 있습니다.

정의 이행 수업 상호 작용 행동 양식
extends 하위 클래스 (하위)가 기본 (상위) 클래스를확장하면 하위 클래스가 기본 클래스에 정의 된 코드를 상속 할 수 있습니다. 클래스는 다른 클래스를 상속 할 수 있습니다. 인터페이스는extends키워드를 사용하여 다른 인터페이스를 상속 할 수 있습니다. 클래스는 하나의 클래스 만 확장 할 수 있습니다. 인터페이스는 여러 인터페이스를 확장 할 수 있습니다. 하위 클래스 클래스는 부모 클래스를 확장하고 있으며 기본 클래스의 모든 메서드를 재정의 할 수도 있고 그렇지 않을 수도 있습니다.
implements implements키워드는 인터페이스를 구현하는 데 사용됩니다. 인터페이스에는 추상 메서드가 포함되어 있습니다. 메서드 본문은이를 구현하는 클래스에서 정의됩니다. implements키워드를 사용하여 클래스는 인터페이스를 구현할 수 있습니다. 하나의 클래스에서 둘 이상의 인터페이스를 구현할 수 있습니다. 인터페이스는 다른 인터페이스를 구현할 수 없습니다. 인터페이스를 구현하는 클래스는 인터페이스의 모든 메서드를 구현해야합니다.

Java에서extends키워드를 사용하여 클래스 상속

아래 코드에는 기본 클래스 인Parent와 하위 클래스로Child가 있습니다. Child클래스는Parent클래스를 확장합니다. 이는 이제Child클래스가Parent클래스 내부에 정의 된 필드 및 메소드에 액세스 할 수 있음을 의미합니다.

Test클래스에서 하위 클래스child의 객체를 만들고 여기에displayNumber()메서드를 호출합니다. 상위 클래스 내부에 정의 된displayString()메소드는 동일한child객체에서 호출하여 실행할 수 있습니다. 따라서 코드 재사용의 목적을 충족합니다.

public class Test {
  public static void main(String args[]) {
    Child child = new Child();
    System.out.println("Calling Child class method : " + child.displayNumber());
    System.out.println("Calling Parent class method from child : " + child.displayString());
  }
}
class Parent {
  String str = "Hello there!";
  public String displayString() {
    return str;
  }
}
class Child extends Parent {
  int number = 25;
  public int displayNumber() {
    return number;
  }
}

출력:

Calling Child class method : 25
Calling Parent class method from child : Hello there!

Java에서implements키워드를 사용하여 인터페이스 상속

아래 코드에는CatDog라는 두 개의 인터페이스가 있으며, 각각 내부에 추상 메소드가 포함되어 있습니다. Animals클래스는 두 인터페이스를 모두 구현하므로 인터페이스에 정의 된 메소드를 구현해야합니다.

따라서Animals클래스는 두 인터페이스를 구현하고 Java에서 인터페이스의 전체 목적인 동작을 정의했습니다.

interface Cat {
  public void meow();
}

interface Dog {
  public void bark();
}

class Animals implements Dog, Cat {
  @Override
  public void meow() {
    System.out.println("Cat meows");
  }

  @Override
  public void bark() {
    System.out.println("Dog barks");
  }
}
public class Test1 {
  public static void main(String args[]) {
    Animals animals = new Animals();
    animals.bark();
    animals.meow();
  }
}

출력:

Dog barks
Cat meows
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn