자바에서 인터페이스와 추상 클래스 간의 차이점을 묻는 것은 매우 기본적인 고전적이며 간단한 질문입니다. 그러나이 질문은 조금 다릅니다.다중 상속에 대한 제한이 제거되면 Java에서 인터페이스와 Abstract 클래스의 차이점은 무엇입니까?
나는 Java가 다이아몬드 문제를 피하기 위해 여러 클래스로부터 상속하는 것을 지원하지 않기 때문에 다중 상속의 종류를 용이하게하는 대체 방법으로 인터페이스 개념을 생각해 냈습니다. 하지만 이것이 인터페이스가 존재하는 유일한 이유입니까?
어떤 이유로 새로운 버전의 Java Guys가이 제한을 극복하고 여러 클래스에서 상속을 허용한다고 가정하면 추상 클래스와 인터페이스의 차이점은 무엇입니까? 그것들은 단순히 동의어일까요? 인터페이스가 여전히 존재할 이유가 있거나 중복 될 수 있습니까?
을 대체 할 수 여러 * 완전 * 추상 클래스? (예 : * 오직 * 추상적 인 메소드를 가진 클래스) – aioobe
m 자바가 너무 늦어서 많은 코드가 이미 오래된 규칙으로 쓰여졌 고 호환성 문제가 많이 발생했을 것입니다. – WickeD
You 추상적 인 클래스의 개념과 인터페이스에 대해 토론 할 수는 없습니다. 당신은 프로그래밍상의 문제들만을 물을 수 있습니다. 그리고 여기에 순수한 추상 클래스가 인터페이스와 동일하다고 말할 수 없습니다. 예. 추상 클래스에서 여러 클래스를 상속받을 수 있습니까? 그렇지 않습니다. 인터페이스가 있어야합니다. –