산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java의 인터페이스 대 추상 클래스:차이점은 무엇입니까?

인터페이스란 무엇입니까?

인터페이스는 클래스를 구현하는 데 사용할 수 있는 청사진입니다. 인터페이스에는 구체적인 메서드(코드가 있는 메서드)가 포함되어 있지 않습니다. 인터페이스의 모든 메소드는 추상 메소드입니다.

인터페이스를 인스턴스화할 수 없습니다. 그러나 인터페이스를 구현하는 클래스는 인스턴스화할 수 있습니다. 인터페이스는 인스턴스 변수를 포함하지 않지만 공용 정적 최종 변수(즉, 상수 클래스 변수)를 포함할 수 있습니다.

추상 클래스란 무엇입니까?

선언에 abstract 키워드가 있는 클래스를 추상 클래스라고 합니다. 추상 클래스에는 최소한 하나의 추상 메서드가 있어야 합니다. 즉, 본문이 없는 메소드. 여러 가지 구체적인 방법을 가질 수 있습니다.

추상 클래스를 사용하면 구체적인 클래스에 대한 청사진을 만들 수 있습니다. 그러나 상속하는 클래스는 추상 메서드를 구현해야 합니다.

추상 클래스는 인스턴스화할 수 없습니다.

인터페이스를 사용하는 중요한 이유

추상 클래스를 사용하는 중요한 이유

인터페이스 대 추상 클래스

추상 클래스를 사용하면 하위 클래스가 구현하거나 재정의할 수 있는 기능을 만들 수 있지만 인터페이스는 기능을 명시할 수만 있고 구현하지 못하도록 합니다. 클래스는 하나의 추상 클래스만 확장할 수 있지만 클래스는 여러 인터페이스를 구현할 수 있습니다.

매개변수 인터페이스 추상 클래스
속도 느림 빠름
여러 상속 여러 인터페이스 구현 단 하나의 추상 클래스
구조 추상 메소드 추상적이고 구체적인 방법
사용 시기 향후 개선 독립을 피하기 위해
상속/구현 클래스는 여러 인터페이스를 구현할 수 있습니다. 클래스는 하나의 추상 클래스만 상속할 수 있습니다.
기본 구현 인터페이스에 새 항목을 추가하는 동안 모든 구현자를 찾고 새로 정의된 항목을 구현하는 것은 악몽입니다. 추상 클래스의 경우 기본 구현을 활용할 수 있습니다.
접근 수정자 인터페이스에 액세스 수정자가 없습니다. 인터페이스 내부에 정의된 모든 것은 public 수정자로 간주됩니다. 추상 클래스는 액세스 수정자를 가질 수 있습니다.
사용 시기 다양한 구현이 메서드 서명만 공유할 때 인터페이스를 사용하는 것이 좋습니다. 값 유형의 다형성 계층 동일한 종류의 다양한 구현이 공통 동작을 공유할 때 사용해야 합니다.
데이터 필드 인터페이스는 데이터 필드를 포함할 수 없습니다. 클래스는 데이터 필드를 가질 수 있습니다.
다중 상속 기본값 클래스는 수많은 인터페이스를 구현할 수 있습니다. 클래스는 하나의 추상 클래스만 상속합니다.
구현 인터페이스는 추상적이어서 어떤 코드도 제공할 수 없습니다. 추상 클래스는 재정의해야 하는 완전한 기본 코드를 제공할 수 있습니다.
접근 수식어 사용 메소드, 속성 등에 대한 액세스 한정자를 사용할 수 없습니다. 접근 수정자를 포함하는 추상 클래스를 사용할 수 있습니다.
사용 인터페이스는 클래스의 주변 능력을 정의하는 데 도움이 됩니다. 추상 클래스는 클래스의 ID를 정의합니다.
정의된 필드 필드를 정의할 수 없습니다. 추상 클래스를 사용하면 필드와 상수를 모두 정의할 수 있습니다.
상속 인터페이스는 여러 인터페이스를 상속할 수 있지만 클래스는 상속할 수 없습니다. 추상 클래스는 클래스와 여러 인터페이스를 상속할 수 있습니다.
생성자 또는 소멸자 인터페이스는 생성자 또는 소멸자를 선언할 수 없습니다. 추상 클래스는 생성자와 소멸자를 선언할 수 있습니다.
확장 제한 인터페이스를 원하는 수만큼 확장할 수 있습니다. 한 번에 하나의 클래스 또는 하나의 추상 클래스만 확장할 수 있습니다.
추상 키워드 추상 인터페이스 키워드에서 메소드를 추상으로 선언하기 위한 선택 사항입니다. 추상 클래스에서 추상 키워드는 메소드를 추상으로 선언하는 데 필수입니다.
클래스 유형 인터페이스는 공개 추상 메소드만 가질 수 있습니다. 추상 클래스에는 보호 및 공개 추상 메소드가 있습니다.

Java의 인터페이스 및 추상 클래스에 대한 샘플 코드

다음은 Java에서 인터페이스 및 추상 클래스를 생성하는 샘플 코드입니다.

인터페이스 구문

interface name{
//methods
}

자바 인터페이스 예:

interface Pet {
    public void test();
}
class Dog implements Pet {
    public void test() {
        System.out.println("Interface Method Implemented");
    }
    public static void main(String args[]) {
        Pet p = new Dog();
        p.test();
    }
}

추상 클래스 구문

abstract class name{
    // code
}

추상 클래스의 예:

abstract class Shape {
    int b = 20;
    abstract public void calculateArea();
}

public class Rectangle extends Shape {
    public static void main(String args[]) {
        Rectangle obj = new Rectangle();
        obj.b = 200;
        obj.calculateArea();
    }
    public void calculateArea() {
        System.out.println("Area is " + (b * b));
    }
}

java

  1. 포핸드 용접 대 백핸드 용접:차이점은 무엇입니까?
  2. 철 대 강철:차이점은 무엇입니까?
  3. 컷 대 와이어 못:차이점은 무엇입니까?
  4. 플라즈마 대 레이저 절단:차이점은 무엇입니까?
  5. 선반 대 밀링 페이싱:차이점은 무엇입니까?
  6. 밀링 대 연삭:차이점은 무엇입니까?
  7. 자바 추상 ​​클래스와 추상 메소드
  8. 자바 인터페이스
  9. 자바 - 추상화
  10. 자바 - 인터페이스