Java 메소드에서 추상 메소드를 사용하는 방법

Java 메소드에서 추상 메소드를 사용하는 방법

자바 인터페이스 클래스와 추상 클래스는 모두 추상 메소드를 가지고 있습니다. 그러나 추상적 인 방법은이 두 종류의 참조 유형에서 약간 다른 역할을합니다. 어떻게 당신이 그것을 마음 속에 똑바로 유지할 수 있습니까?

먼저해야 할 일은 코드 작성에 많은 연습없이 객체 지향 프로그래밍 개념을 배우는 사람은 아무도 없다는 것입니다. 당신이 혼란 스럽다면, 그것은 좋은 것일 수 있습니다. 이것은 당신이이 물건이 얼마나 복잡한 지 충분히 이해했다는 것을 의미합니다. 작성하는 코드가 많을수록 클래스, 인터페이스 및 기타 모든 아이디어가 더 편하게됩니다.

할 일은 추상적 인 방법을 선언하는 방법의 차이점을 정리하는 것입니다. 여기 이야기가 있습니다.

추상 메소드의 사용 (또는 사용하지 않음)
일반 (비 추상화) 클래스에서 추상 클래스에서의 인터페이스
추상 메소드는 허용됩니까? 아니요
메소드 선언에 추상 키워드가 포함될 수 있습니까? 아니오
메소드 선언에 기본 키워드가 포함될 수 있습니까? 아니요 아니요 아니요
추상 또는 기본 추상이 아님 초록 초록이 아님

인터페이스와 추상 클래스 모두 추상 메소드를 가지고 있습니다. 따라서 인터페이스 선언과 추상 클래스 선언 사이에서 어떻게 선택해야하는지 궁금 할 것입니다. 사실 세 가지 전문 프로그래머에게 인터페이스와 추상 클래스가 서로 다른 점을 물어볼 수 있습니다. 그렇게한다면 5 가지 다른 대답을 얻을 수 있습니다. 인터페이스와 추상 클래스는 비슷한 짐승이며 Java 8의 새로운 기능으로 이전 Java 버전과 훨씬 더 비슷하게 만들었습니다 (예, 대답 5 개, 대답 3 개). 그러나 기본 아이디어는 사물 간의 관계에 관한 것입니다.

  • 관계임을 나타냅니다. 인터페이스 구현은 할 수 있음
  • 관계를 나타냅니다. 클래스가 많은 인터페이스를 구현할 수 있지만 클래스가 하나의 클래스 만 추상 클래스 인 경우에도 하나의 다른 클래스 만 확장 할 수 있습니다. 그래서 Public class Dog가 HousePet 를 선언 한 후에는

Dog

Friend 클래스로 확장 할 수 없습니다. 그러나 Dog Befriendable 인터페이스를 구현할 수 있습니다. 그런 다음 동일한 Dog 클래스를 Trainable 인터페이스로 구현할 수 있습니다. 그리고 인터페이스와 추상 클래스 간의 차이가 더 많아지기를 원한다면 여기에 하나만 있습니다. 인터페이스에는 정적이 아닌 최종 필드가 포함될 수 없습니다. 그렇습니다. 인터페이스와 추상 클래스는 서로 다릅니다. 그러나 당신이 게임에서 새로운 사람이라면, 당신은 그 차이에 대해 걱정할 필요가 없습니다. 가능한 한 많은 코드를 읽고, 추상적 인 방법을 볼 때 무서워하지 마십시오. 그게 전부입니다.