java 파일을 javac.exe
가 컴파일 -> 생성된 class 파일을 java.exe
가 실행 -> 문자열 출력
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
A main(B C) { D }
☞ 메서드를 정의하는 문법
함수
: 특정 기능을 수행하는 코드들을 묶은 것
메서드
: 클래스 내에 포함되어 있는 함수
자바는 객체지향 언어이며, 모든 코드를 클래스 내에 작성하기 때문에 보통 함수라는 용어보다 메서드라는 용어를 사용 ( 메서드
> 함수)
어떤 기능을 수행한다 ▶️ 데이터를 입력 받아 해당 데이터에 일련의 처리를 가함으로써 만들어낸 결과값을 반환
‘어떤 기능을 수행하기 위한 코드들을 묶어놓은 것’
A main (B C) {
D
}
A: 반환타입, B: 매개변수 타입, C: 매개변수 이름, D:메서드 바디
add(1,2);
public static void main(String[] args){
}
가장 먼저 실행되는 메서드
자바에서 main
메서드는 진입점 함수이며, 자바로 어떤 소스 코드를 작성할 때 반드시 main
메서드가 있어야 하고, main
메서드로부터 코드의 흐름이 시작
진입점 함수: 프로그램이 실행될 때 가장 먼저 실행되는 메서드 또는 함수
- 프로그램의 실행에 필요한 클래스를 로드한다.(*.class file)
- 클래스 파일을 검사한다.(파일 형식, 악성 코드 체크)
- 지정된 클래스에서 main(String[] args)를 호출한다.
main메서드의 첫 줄부터 코드가 실행되기 시작하여 마지막 코드까지 모두 실행되면 프로그램이 종료되고, 프로그램에서 사용했던 자원들은 모두 반환 됨
범위 주석
: '/* ' 이 사이의 내용은 주석으로 처리' */ '
한 줄 주석
: '//' 부터 라인 끝까지의 내용은 주석으로 간주
문서 주석
: '/** ~ */', Java API문서와 같은 형식의 문서를 자동으로 만들어주는 주석
→ 자바는 대소문자를 구별하므로 대소문자의 일치여부 확인하기
💡 에러 메시지를 잘 읽고 해당 부분과 주위의 코드를 살펴보기!!
⚠️ cannot find symbol , cannot resolve symbol
→ 지정된 변수나 메서드를 찾을 수 없음
⚠️ ‘;’ expected
→ 자바의 모든 문장 끝에는 ‘;’ 을 붙이기!
⚠️ Exception in thread “main”java.lang.NoSuchMethodError:main
→ main 메서드를 찾을 수 없음
→ main 메서드가 클래스에 정의되어 있는지, 오타는 없는지 확인하자
⚠️ Exception in thread “main” java.lang.NoClassDefFoundError:Hello
→ 클래스를 찾을 수 없다.
⚠️ illegal start of expression
→ 문법 오류, 에러가 발생한 곳이 문법적으로 옳은지 확인
⚠️ class, interface, or enum expected
→ 클래스, 인터페이스, 이넘이 없다.
→ ( ), { } 를 잘 확인해보자