Java에서 클래스 예상 오류

Haider Ali 2023년10월12일
  1. 컴파일 시간 오류
  2. Java의 '.class' 예상 오류
  3. Java에서 '.class' expected 오류 수정
Java에서 클래스 예상 오류

이 가이드에서는 Java에서 '.class' expected 오류가 무엇인지 살펴보겠습니다.

어떤 유형의 오류이며 언제 발생합니까? 왜 발생하며, 해결 방법은 무엇입니까?

그럼 더 이상 지체하지 않고 바로 들어가 보겠습니다.

컴파일 시간 오류

'.class' expected 오류는 컴파일 타임 오류입니다. 이것이 런타임 오류라고 생각하는 일부 사람들에게는 혼란스러울 수 있지만 이는 잘못된 것입니다.

컴파일에 성공하면 런타임 오류가 발생하지만 런타임에 문제가 있습니다.

모든 런타임 정보가 컴파일러에 제공되지 않기 때문에 컴파일러는 컴파일 중에 런타임 오류를 감지할 수 없습니다. 따라서 '.class' expected 오류는 컴파일러가 혼동하도록 코드가 작성되었기 때문에 컴파일 타임에 속합니다.

Java의 '.class' 예상 오류

Java로 코드를 작성할 때마다 .class expected 오류를 발견할 가능성이 있습니다. 어떤 사람들은 코드가 완벽해 보이는데 이것이 무엇에 관한 것인지 걱정할 수도 있습니다.

그러나 간단한 실수로 인해 이 오류가 중괄호가 누락된 것처럼 나타나거나 세미콜론 문제 또는 기타 구문 오류가 있기 때문에 걱정할 필요가 없습니다.

구문, 중괄호 및 세미콜론은 Java에서 중요한 역할을 합니다. 코드 블록을 정의하려면 중괄호가 필요하고 다음 라인을 컴파일하기 위해 코드 라인을 완료했음을 컴파일러에 알리려면 세미콜론이 필요합니다.

간단히 말해 .class 오류는 Syntax Error가 발생했을 때 발생하는 오류입니다.

Java에서 '.class' expected 오류 수정

이제 이러한 실수는 철저한 평가를 통해 수정할 수 있습니다. 그러나 일부 오류(Syntax Errors)는 사용자에게 알려지지 않았으며 '.class' expected 오류가 나타나면 사용자는 이 오류가 발생한 이유를 알 수 없기 때문에 혼란과 피로를 모두 유발합니다.

오류가 발생하면 컴파일러는 일반적으로 오류를 수정할 옵션을 제안합니다. 사용자에게 문제와 해결책을 알려주지만 이 경우 '.class' expected는 해결책이 아닙니다.

컴파일러가 이를 제안할 때 일반적으로 위에서 언급한 것처럼 코드에 사용된 구문이 있는 경우입니다. 클래스를 포함하는 것은 해결책이 아닙니다. 사용자에게 제안할 내용에 대해 혼란스러워하는 컴파일러일 뿐입니다.

다음은 배열에 주어진 숫자를 정렬하는 데 사용되는 정렬 배열의 예입니다.

import java.util.*;
public class Main {
  public static void main(String[] args) {
    int[] sorting = new int[] {4, 8, 2, 6, 7};

    Arrays.sort(sorting[]);
    System.out.println("Sorted array : ");

    for (int i = 0; i < sorting.length; i++) // to print the array
    {
      System.out.println(sorting[i]);
    }
  }
}

출력:

error: '.class' expected
Arrays.sort(sorting[]);
                   ^
1 error

위의 예와 같이 간단한 정렬 배열입니다. 대괄호 []의 단순한 실수로 인해 컴파일러가 Arrays.sort(sorting[]); 라고 썼다.

빈 대괄호를 사용할 수 없는 Java 구문입니다. 이 경우 변수를 전달해야 하는 경우 컴파일러에 이것이 배열임을 알릴 필요가 없으므로 변수만 사용해야 합니다.

다른 객체와 마찬가지로 배열을 전달합니다.

해결책:

import java.util.*;
public class Main {
  public static void main(String[] args) {
    int[] sorting = new int[] {4, 8, 2, 6, 7};

    Arrays.sort(sorting);
    System.out.println("Sorted array : ");

    for (int i = 0; i < sorting.length; i++) // to print the array
    {
      System.out.println(sorting[i]);
    }
  }
}

출력:

Sorted array :
2
4
6
7
8

위에서 설명한 것처럼 대괄호 때문에 '.class' expected 오류가 발생했으므로 대괄호를 제거하기만 하면 원하는 대로 프로그램을 실행할 수 있습니다. 이는 Java 구문의 요구 사항 때문이었습니다.

배열 sorting 자체는 유형이 int[]인 객체입니다. 따라서 컴파일러는 객체로 전달되는 sorting[]을 허용하지 않습니다.

작가: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

관련 문장 - Java Error