누락된 메서드 본문 해결 또는 Java에서 추상 선언

Mehvish Ashiq 2023년10월12일
누락된 메서드 본문 해결 또는 Java에서 추상 선언

이 자습서에서는 컴파일 시간 오류인 메서드 본문 누락 또는 추상 선언에 대해 설명합니다. 여기서는 세 가지 단계를 거칩니다.

먼저 Java 프로그램을 이해하여 오류에 대해 알아봅니다. 둘째, 이 오류의 가능한 원인을 강조 표시하고 마지막으로 이 컴파일 시간 오류를 근절할 솔루션을 찾습니다.

누락된 메서드 본문 해결 또는 Java에서 추상 오류 선언

첫 번째 단계부터 시작하여 이 오류를 일으키는 프로그램을 이해해 봅시다.

예제 코드(Main.java 클래스):

class Main {
  public static void main(String[] param) {
    HiWorld();
    System.exit(0);
  }

  public static void HiWorld();
  { System.out.println("Hi World"); }
}

여기에는 main() 메서드가 포함된 Main.java 클래스가 있습니다. main() 메서드 내에서 HiWorld() 메서드를 호출하고 프로그램을 종료합니다.

그런 다음 HiWorld 메서드에는 간단한 println 문이 있습니다.

모든 것이 괜찮아 보이지만 누락된 메서드 본문 또는 선언 추상이라는 오류가 발생합니다. 왜? 컴파일러는 우리가 함수 본문 작성을 놓쳤거나 이 함수를 abstract로 선언하려고 하지만 함수를 정의하는 동안 abstract 키워드를 작성하는 것을 잊었기 때문입니다.

여기에서 이 오류를 일으키는 가능한 원인에 대해 알아보는 두 번째 단계에 있습니다. 가능한 모든 이유는 다음과 같습니다.

  1. 먼저 코드를 다시 확인하십시오. 세미콜론(;)을 함수 정의의 끝에 넣거나 넣지 않아야 할 다른 곳에 넣었을 수 있습니다. 그렇다면 제거하십시오.
  2. 또 다른 가능성은 abstract 메서드를 작성하려는 경우 abstract 키워드 작성을 잊는 것입니다.
  3. 때때로 main() 메서드 뒤에 {를 잊은 경우 이 오류가 발생합니다.
  4. 프로그램에 setters가 있는 경우 일반적으로 return 유형이 없기 때문에 setters가 값을 반환하지 않는지 확인하십시오.

우리의 경우 HiWorld() 메서드 정의 끝에 세미콜론(;)을 작성했습니다. 따라서 이를 제거하면 이 오류에 대한 해결책인 최종 단계로 이어집니다.

예제 코드(Main.java):

class Main {
  public static void main(String[] param) {
    HiWorld();
    System.exit(0);
  }

  public static void HiWorld() {
    System.out.println("Hi World");
  }
}

출력:

Hi World
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - Java Error