추상 메소드가 포함 된 클래스가 추상 클래스 여야하는 이유를 이해할 수 없습니다.추상 메서드가 포함 된 클래스를 추상화해야하는 이유는 무엇입니까?
-1
A
답변
2
다른 방법으로 보자면 추상적 인 메소드를 추상화하지 않아도 클래스를 인스턴스화 할 수 있었고, 인스턴스화하는 것이 허용 되었다면 그 메소드를 호출하면 컴파일러는 무엇이 될까요? - 실행할 실제 코드가 없습니다. 그래서 우리는 클래스를 추상적으로 선언합니다 - 우리는 이것을 '아직 사용할 준비가되지 않았습니다'라고 표시하고 나중에 실제로 사용할 수있는 추상 메소드가없는 '구체적인'서브 클래스를 만듭니다.
class Horse { // <== note not actually allowed...
public abstract int getNeighCount();
}
Horse horse = new Horse();
horse.getNeighCount(); // <== what would happen here??
+0
당신의 설명은 정말로 감사합니다. –
0
이것은 필수 항목과 아무 관련이 없습니다. 최소한 하나의 추상 메소드가있는 클래스는 추상 클래스입니다.
1
구체적인 (추상이 아닌) 클래스에는 모든 메소드에 대한 구현이 있어야합니다. 따라서 구현되지 않은 (추상) 메소드는 인터페이스 또는 추상 클래스에만있을 수 있습니다.
0
기본적으로 인터페이스에서 모든 메소드는 추상입니다.
추상 메서드는 매우 구체적인 구현을 제공하기 위해 해당 추상 클래스의 하위 클래스로 재정의되며 실제로는 골격입니다.
관련 문제
- 1. 데이터 액세스 계층을 추상화해야하는 이유는 무엇입니까?
- 2. php 추상 클래스와 정적 메서드가 포함 된 인터페이스?
- 3. Java에서 추상 클래스를 직렬화하지 않는 이유는 무엇입니까?
- 4. 파이썬에서 추상 추상 클래스를 인스턴스화 할 수있는 이유는 무엇입니까?
- 5. 추상 메서드가 추상 메서드를 재정의합니다.
- 6. Moq를 사용하여 내부 추상 메소드가 포함 된 추상 클래스를 조롱하는 방법은 무엇입니까?
- 7. 스텁 된 메서드가 호출되지 않는 이유는 무엇입니까?
- 8. 내가 추상 사전 속성을 추상 기본 클래스를
- 9. 인터페이스와 추상 클래스를 구 문적으로 구분하는 이유는 무엇입니까?
- 10. 자바에서 추상 메소드/클래스를 구현
- 11. 추상 클래스를 인스턴스화하는 패턴은 무엇입니까?
- 12. 조롱 된 메서드가 예외를 삼키는 이유는 무엇입니까?
- 13. 로드 된 메서드가 무시되는 이유는 무엇입니까?
- 14. 이 재정의 된 메서드가 호출되는 이유는 무엇입니까?
- 15. 다른 추상 클래스를 확장하고 추상 추상 클래스가 구현하는 인터페이스를 재정의해야하는 추상 클래스를 확장합니다.
- 16. 추상 클래스와 PyMongo; 추상 클래스를
- 17. 추상 필드가 아닌 이유는 무엇입니까?
- 18. Java 클래스는 추상 클래스를 확장하지만 정적 메서드가 있어야합니다.
- 19. 추상 클래스를 봉인 할 수 없거나 정적 인 이유는 무엇입니까?
- 20. 인터페이스 대신 추상 클래스를 사용하지 않는 이유는 무엇입니까?
- 21. 자바 추상 클래스를 초기화
- 22. Java - 오버로드 된 메서드가 서로를 호출하는 추상 클래스
- 23. nio.Buffer가 포함 된 클래스를 직렬화하는 방법은 무엇입니까?
- 24. 컬렉션의 메서드가 AbstractCollection에없는 이유는 무엇입니까?
- 25. 인터페이스에서 추상 클래스를 참조해도 괜찮습니까?
- 26. 추상 클래스에서 파생 된 클래스를 인스턴스화하는 방법
- 27. Stream.CopyTo가 확장 메서드가 아닌 이유는 무엇입니까?
- 28. 스칼라에서 형질과 추상 메서드가 오버라이드합니다.
- 29. OpenERP에서 추상 클래스를 구현하는 방법은 무엇입니까?
- 30. Python - 메서드가 정의 된 클래스를 쿼리하려면 어떻게해야합니까?
추상 메소드가있는 경우이 메소드가 아직 구현되지 않았으므로 정의에 따라 클래스가 불완전하므로 추상이어야합니다. –