Java에서 확장 대 구현
Java에서 주어진 부모 클래스의 속성과 동작을 재사용하기 위해 객체 지향 프로그래밍 언어의 중요한 부분 인 상속 개념을 사용합니다. 그이면의 아이디어는 코드 재사용 성입니다. implements
및extends
키워드는 모두 상위 클래스의 속성을 가진 Java에서 새 클래스를 작성하는 데 사용됩니다.
아래 표를 사용하여extends
및implements
키워드를 더 잘 이해할 수 있습니다.
정의 | 이행 | 수업 | 상호 작용 | 행동 양식 | |
---|---|---|---|---|---|
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
키워드를 사용하여 인터페이스 상속
아래 코드에는Cat
및Dog
라는 두 개의 인터페이스가 있으며, 각각 내부에 추상 메소드가 포함되어 있습니다. 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn