자바) 인터페이스와 추상클래스

상호 작용

시행해야 합니다. 업무 참고서입니다. 특정 내용 없음(추상 메서드) @Override
인스턴스를 만들 수 없습니다.
여러 개 삽입 가능
구현된 클래스로 객체를 만들면 구현이 적용하는 인터페이스 유형의 멤버에만 액세스할 수 있습니다.
유형은 해당 구현 클래스 또는 암시적 인터페이스(데이터 유형의 확장)라고도 합니다.

장난감 인터페이스 <--- 로봇, 평면 구현 클래스 장난감 유형의 배열 = {로봇 유형, 비행기 유형};
어레이 주변
toy(i).walk();
toy(i).run();
toy(i).alarm();
toy(i).light();

구현된 로직에 의해 처리됨


추상 클래스

클래스 + 인터페이스의 추상 메서드 포함
클래스와 마찬가지로 멤버 변수, 일반 메서드 및 생성자가 있으며 추상 클래스는 확장을 통해 상속됩니다.
추상 메서드는 @Override 클래스를 상속하여 구현해야 합니다.

구현 클래스가 생성자를 호출하는 동안 구현 클래스는 super를 사용하여 추상 클래스의 생성자를 호출하고 부모 추상 클래스의 멤버 변수 값을 초기화할 수도 있습니다.
부모 클래스(추상 클래스)의 타입이라고 하면 추상 클래스의 멤버 메서드는 물론 상속받아 구현한 내부 메서드도 사용할 수 있다.

공통 부분은 추상 클래스로 구현하고 세부 부분은 개별적으로 구현하여 데이터 유형이 다른 다형성 구현


정리하다

공통점은 추상 메서드나 객체를 생성하지 않고 데이터 타입(타입)으로 사용한다는 점이다.
차이점은 인터페이스에는 상수와 추상 메서드만 있는 반면 추상 클래스에는 클래스의 속성도 있다는 것입니다.
인터페이스는 추상 메서드만 구현하지만 추상 클래스에는 구현 및 상속 기능도 있습니다.
인터페이스는 다형성(다중 구현)을 지원하고 추상 클래스는 단일 상속만 지원합니다.