개발의변화
자바 ch1 본문
Hello.java ->
public class 클래스명 {
}
클래스명과 파일명이 대문자 소문자까지도 같아야 한다.
하나의 파일에 둘 이상의 public class가 존재하며 안된다
자주 발생하는 에러와 해결방법
1. cannot find symbol 또는 cannot resolve symbol
지정된 변수나 메서드를 찾을 수 없다는 뜻으로 선언되지 않은 변수나 메서드를 사용하거나 변수 또는 메서드의 이름을 잘못 사용한 경우에 발생(자바에서는 대소문자 구문을 하기 때문에 철저히 확인 필수!)
2. ; expected
세미콜론 ;이 필요한 곳에 없다는 뜻
자바의 모든 문장의 끝에는 ';'을 붙여주어야 하는데 가끔 이를 잊고 실수하기 쉽다
3. Expection in thread "main" java.lang.NoSuchMethodError: main
'main 메서드를 찾을 수 없다'는 뜻인데 실제로 클래스 내에 main메서드가 존재하지 않거나 메서드의 선언부 'public static void main(String[] args)'에 오타가 존재하는 경우에 발생
이 에러의 해결방법은 main메서드가 클래스에 정의되어 있는지 확인하고, 정의되어 있다면 Main메서드의 선언부에오타가 없는지 왛ㄱ인
4. Expection in thread "main" java.lang.NoClassDefFoundError: Hello
'Hello라는 클래스를 찾을 수 없다.'는 듯이다. 클래스 'Hello'의 철자, 특히 대소문자를 확인해보고 이상이 없으면 클래스파일이 생성되었는지 확인한다.
5.illegal start of expression
직역하면 문장의 앞부분이 문법에 맞지 않는다는 의미인데, 간단히 말해서 문장에 문법적 오류가 있다는 뜻이다
6.class, interface, or enum expected
이 메시지의 의미는 '키워드 class나 interface 또는 enum이 없다' 이지만, 보통 괄호 '{' 또는 '}'의 개수가 일치 하지 않는 경우에 발생
자바프로그램의 실행과정
1. 프로그램의 실행에 필요한 클래스를 로드한다.
2.클래스파일을 검사한다.(파일 형식, 악성코드 체크)
3. 지정된 클래스(Hello)에서 main(String[] args)를 호출한다.
주석
범위 주석 /* */사이의 내용은 주석으로 간주한다
한 줄 주석 //부터 라인 끝까지의 내용은 주석으로 간주한다.