OO 세계에서 추상적 인 클래스는 어떤 설계를 시행하는 데 사용되었습니다. & 구현 제약 조건. 아무것도 더. 어쨌든 추상 클래스를 사용할 필요는 없습니다. 그러나 이러한 제약 조건을 더 잘 적용하는 경우가있을 수 있습니다. 그래서 그들은 무엇입니까?그것을 oo-counterparts를 비교하여 보자.
추상 클래스 대 인터페이스
아시다시피,이 상속의 기본 개념이 있습니다.
기본적으로 인터페이스는 기본 서비스를 상속받을 의사가 있다는 것을 선언하기 위해 사용됩니다. 구현이 없습니다 &에는 기능이 없습니다. 그런 의미에서 인터페이스는 추상적입니다. 이것이 구현 제약 조건보다 설계 제약 조건이 더 큰 이유입니다. 스피커의 헤드폰 잭을 생각해보십시오. 각 헤드폰은 잭 인터페이스 (start, stop, listen, turnDown, turnUp 메소드 포함)를 구현해야합니다. 스피커가 제공하고 그에 따라 구현하는 기능을 상속하려면 각 헤드폰이이 인터페이스를 재정의해야합니다. 한편, 클래스는 구현 된 메소드를 포함 할 수 있습니다. 이것이 기본 차이점이며, 그런 의미에서 인터페이스 이상의 재사용을 활용할 수 있습니다. 또한, 그들은 개인적이고 보호 된 & 비 정적 필드를 포함 할 수 있습니다. 추상 메소드 (구현이없는 메소드)로 하위 클래스가 필수 기능을 일부 구현하도록 할 수 있습니다. 추상 클래스는 인터페이스보다 민첩합니다.
물론 인터페이스 수를 구현할 수있는 자바에서 하나의 클래스 만 확장 할 수 있습니다.
추상 클래스 대 정규 수업
왜 다음 정규 수업을 사용하지. 추상 클래스를 사용하면 어떤 이점이 있습니까? 이것은 매우 간단합니다. 추상 클래스를 사용하면 형제가 핵심 기능을 구현하게됩니다. 개발자는 필수 기능을 구현해야한다는 것을 기억할 필요가 없습니다. 이것은 추상 클래스가 정규 클래스에 대한 디자인 제약을 부과하는 곳입니다. 또한 클래스를 추상화하여 우연히 생성되는 클래스 (불완전한 클래스)를 피할 수 있습니다.
downvoters는 당신이 대답을 downvote 왜 언급하시기 바랍니다! – apollodude217