게으른 개발자의 끄적거림

Java class, interface, or enum expected 에러 해결법

끄적잉 2023. 11. 27. 23:12
728x90

Java class, interface, or enum expected는 자바 프로그램에서 발생할 수 있는 일반적인 컴파일 오류 메시지 중 하나입니다. 이 오류는 주로 다음과 같은 상황에서 발생합니다:

 


1. **패키지 문제:**
   - 클래스나 인터페이스 등의 정의가 패키지 내에 위치하고 있지 않을 때 발생할 수 있습니다. Java 파일의 첫 부분에는 패키지 선언이나 import 문이 와야 합니다.

######################## ######################## ########################


    package com.example; // 예시 패키지 선언

    public class MyClass {
        // 클래스 내용
    }


######################## ######################## ########################

 

 


2. **문법 오류:**
   - 코드에 문법 오류가 있어서 클래스, 인터페이스, 또는 열거형(enum) 정의로 인식되지 않을 때 발생합니다.

######################## ######################## ########################


    public class MyClass {
        // 클래스 내용
    // 끝나지 않은 중괄호 등의 문법 오류


######################## ######################## ########################

 

 


3. **잘못된 파일 이름:**
   - 파일 이름과 클래스 이름이 일치하지 않는 경우 발생할 수 있습니다. 파일 이름은 반드시 public 클래스의 이름과 일치해야 합니다.

######################## ######################## ########################


    // 파일 이름: MyClass.java
    public class AnotherClass {
        // 클래스 내용
    }


######################## ######################## ########################

 


4. **클래스 또는 인터페이스가 필요한 위치에 다른 형식이 있는 경우:**
   - 예를 들어, 클래스의 메서드 내에서 또 다른 클래스를 정의하면 발생할 수 있습니다.

######################## ######################## ########################


    public class MyClass {
        public void myMethod() {
            class InnerClass { // 메서드 내부에서 클래스 정의
                // 내부 클래스 내용
            }
        }
    }


######################## ######################## ########################

5. **파일이 손상되었거나 올바르게 저장되지 않은 경우:**
   - 소스 코드가 올바르게 저장되지 않았거나 손상된 경우에도 이 오류가 발생할 수 있습니다.

 

 


이러한 경우 중 어느 부분에서 오류가 발생했는지를 파악하여 적절한 수정을 해야 합니다. 컴파일 오류 메시지에 나타난 줄 번호와 파일 경로를 확인하여 문제를 해결할 수 있습니다.

728x90

'게으른 개발자의 끄적거림' 카테고리의 다른 글

Java replaceAll 슬래시(/) 변환 방법(정규식)  (0) 2023.11.28
Java import 에러  (0) 2023.11.27
.sh 파일이란?  (1) 2023.11.23
.bat 파일이란?  (1) 2023.11.23
SQL 동적쿼리 (parameter 사용) 방법  (0) 2023.11.21