Top

자바 추상 메서드 예제

Java 인터페이스의 메서드는 암시적으로 추상화되며 구현을 가질 수 없습니다. Java 추상 클래스에는 기본 동작을 구현하는 인스턴스 메서드가 있을 수 있습니다. 이것은 매우 오래되었을 수도 있지만 추상 메서드의 필요성을 이해하려고 노력하고 있으며 인터페이스 삭제, 구현하지 않는 것, 두 메서드를 정적으로 변경하고 예제 1과 같은 메서드를 인쇄하는 것과 같은 동일한 결과를 얻을 수있는 더 많은 방법이 있습니다. 이 예제에서 Shape는 추상 클래스이며 해당 구현은 사각형 및 Circle 클래스에서 제공합니다. 사람이 직원이 될 수 있기 때문에 사람, 직원 관계는 추상적 인 클래스보다는 인터페이스로 더 잘 표현되는 것처럼 느껴지지만 필수는 아닙니다. 한 사람은 두 가지 이상이 될 수 있으므로 관리자는 관리자 나 감독자와 같은 다른 사람이 될 수 있으므로 직원은 Employee라는 인터페이스를 구현해야합니다. 1. 추상 클래스는 인스턴스화 할 수 없습니다 2. 추상 클래스함수의 정의를 포함할 수 있는 추상 클래스는 추상적 메서드, 즉 본문이 없는 메서드(public void get(); 추상 메서드에는 메서드 시그니처가 포함되어 있지만 메서드 본문이 없습니다. 최종 수정자는 클래스, 메서드 및 변수에 적용됩니다.

최종의 의미는 문맥마다 다르지만 본질적인 개념은 동일합니다. 대부분 최종 사용자에게 숨겨져 있는 구현 클래스에 대해 알지 못하며 구현 클래스의 개체는 팩터리 메서드에서 제공합니다. C++에서 클래스에 하나 이상의 순수 가상 함수가 있는 경우 클래스가 추상화됩니다. Java에서 C++와 달리 클래스 추상화를 위해 별도의 키워드 추상이 사용됩니다. 추상 메서드를 작성하 고 싶지만 컴파일러에서 이 오류가 지속적으로 발생합니다. 메서드를 재정의할 때 항상 재정의 추가를 사용해야 하는 이유에 대해 자세히 읽어보십시오. work()는 추상적인 방법이며 본문이 없습니다. 다음은 java에서 추상 클래스를 확장하는 구체적인 클래스 예제입니다.

어려운 부분은 클래스가 추상적이어야 하는 시기를 파악하는 것입니다. 동물의 왕국을 모델링하는 것은 간단한 예이므로 포유동물이 추상적인 클래스여야 한다는 것을 보는 것은 어렵지 않습니다. 때때로 이 아이디어는 C++에 대한 배경을 가지고 C++의 가상 키워드를 Java의 추상 키워드와 “거의 동일”으로 오해하는 데서 비롯됩니다.