자바( Java ) - 자주 발생하는 에러와 해결방법

Chanyang Im·2022년 3월 19일
0

Java

목록 보기
4/14
post-thumbnail

자주 발생하는 에러와 해결방법

1. cannot find symbol 또는 cannot resolve symbol

지정된 변수나 메서드를 찾을 수 없다는 뜻이다.
언되지 않은 변수나 메서드를 사용하거나, 변수 또는 메서드의 이름을 잘못 사용한 경우이다.
자바에서는 대소문자를 구분하기 때문에 철자와 대소문자의 일치 여부도 꼼꼼하게 확인해야한다.

2. ';' expected

세미콜론(;)이 필요한 곳에 없다는 뜻이다.
자바의 모든 문장의 끝에는 ';'를 붙여주어야한다.

3. Exception in thread "main" java.lang.NoSuchMethodError: main

main 메서드를 찾을 수 없다는 뜻이다.
실제로 클래스 내에 main 메서드가 존재하지 않거나 메서드의 선언부 'public static void main(String[] args)에 오타가 존재하는 경우에 발생한다.
해결 방법은 main 메서드가 클래스에 정의되어 있는지 확인하고, 정의되어 있다면 main 메서드의 선언부에 오타가 없는지 확인하다. (대소문자까지 확인해야한다.)

4. Exception in thread "main" java.lang.NoClassDefFoundError: Hello

'Hello'라는 클래스를 찾을 수 없다는 뜻이다.
클래스 'Hello'의 철자, 특히 대소문자를 확인해보고 이상이 업으면 클래스파일이 생성되었는지 확인한다. 'Hello.java'가 정상적으로 컴파일 되었다면 클래스파일'Hello.class'가 있어야한다.
또한 classpath의 설정이 바르게 되었는지 확인해야한다.

5. illegal start of expression

간단히 말해서 문장에 문법적 오류가 있다는 뜻이다. 괄호를 열고서 닫지 않거나, 수식이나 if문, for문 등에 문법적 오류가 있을 때 또는 public이나 static 같은 키워드를 잘못 사용한 경우에도 발생한다. 에러가 발생한 곳이 문법적으로 옳은지 확인하자.

6. class, interface, or enum expected

이 메세지의 의미는 키워드 class나 interface 또는 enum이 없다라는 의미지만,
통 괄호의 개수가 일치하지 않는 경우에 발생한다.

profile
안녕하세요!! 세상에 관심이 많은 공학자입니다!😆

0개의 댓글