>  기사  >  Java  >  Java 인터페이스와 추상 클래스의 차이점

Java 인터페이스와 추상 클래스의 차이점

(*-*)浩
(*-*)浩원래의
2019-11-11 11:18:023359검색

Java 인터페이스와 추상 클래스의 차이점

Interface

Concept

Interface는 특정 기능을 추상화하고 인터페이스 수정을 사용하는 컬렉션입니다. (추천 학습: java 강좌)

public interface InfClass {
    public void say();
}

Abstract class

Concept

간단히 말하면 추상 메소드는 메소드 본체만 있고 구현이 없는 클래스입니다. 추상으로 장식되어 있습니다.

abstract class AbsClass {
    abstract void say();
}

Java는 추상 클래스 및 인터페이스 생성을 제공하고 지원합니다. 구현에는 공통점이 있지만 차이점은 다음과 같습니다.

인터페이스의 모든 메서드는 암시적으로 추상입니다. 추상 클래스에는 추상 메서드와 비추상 메서드가 모두 포함될 수 있습니다.

클래스는 여러 인터페이스를 구현할 수 있지만 하나의 추상 클래스만 상속할 수 있습니다.

클래스는 추상 클래스와 인터페이스에서 선언한 모든 메서드를 구현할 필요는 없습니다. 또한 abstract로 선언해야 합니다.

추상 클래스는 인터페이스 메서드 구현을 제공하지 않고도 인터페이스를 구현할 수 있습니다.

Java 인터페이스에 선언된 변수는 기본적으로 최종 변수입니다. 추상 클래스에는 최종 변수가 아닌 변수가 포함될 수 있습니다.

Java 인터페이스의 멤버 함수는 기본적으로 공개됩니다. 추상 클래스의 멤버 함수는 비공개, 보호 또는 공개일 수 있습니다.

인터페이스는 완전히 추상적이므로 인스턴스화할 수 없으며 추상 클래스도 인스턴스화할 수 없습니다.

클래스가 인터페이스를 구현하는 경우 인터페이스의 모든 메서드를 구현해야 하지만 추상 클래스가 반드시 구현되는 것은 아닙니다.

위 내용은 Java 인터페이스와 추상 클래스의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.