이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다.
언어 특징
- 운영체제에 독립적
- 자바가상머신(JVM): 운영체제에 종속적
- 객체지향언어: 상속, 캡슐화, 다형성
- 자동 메모리 관리(Garbage Collection)
- 네트워크와 분산 처리를 지원
- 멀티쓰레드 지원: 시스템과는 관계 없이 구현 가능, 관련 라이브러리 제공, 자바 인터프리터가 여러 쓰레드에 대한 스케줄링 담당
- 동적 로딩 지원: 필요 시점에 따라 필요한 클래스만 유연하게 로딩하고, 작성할 수 있다
Java API 문서: https://docs.oracle.com/en/java/javase/index.html
프로그램 작성
- 소스 파일의 이름은 public class의 이름과 일치해야 한다.
- public class는 없을 수는 있지만 둘 이상 존재하면 안 된다.
- 소스 파일(*.java)와 달리 ⊃ 클래스 파일(*.class)은 클래스마다 하나씩 만들어진다.
자주 발생하는 에러와 해결 방법
- cannot find symbol 또는 cannot resolve symbol
선언되지 않은 변수나 메서드 사용했는지 확인
- ';' expected
- Exception in thread "main" java.lang.NoSuchMethonError: main
main 메서드가 존재하지 않거나, 선언부 오타 확인
- Exception in thread "main" java.lang.NoClassDefFoundError: Hello
클래스 파일(*.class)이 생성되었는지 확인, 클래스패스(classpath) 설정이 올바른지 확인 - illegal start of expression
문법적 오류 확인, 괄호, 제어문, public이나 static 키워드 잘못 사용하지 않았는지 확인 - class, interface, or enum expected
보통 괄호의 개수가 맞지 않는 경우에 발생
'Back-End > Java' 카테고리의 다른 글
객체지향 프로그래밍 Ⅱ (0) | 2021.12.16 |
---|---|
객체지향 프로그래밍 Ⅰ (0) | 2021.12.02 |
배열(array) (0) | 2021.11.25 |
연산자(Operator) (0) | 2021.11.16 |
변수(variable) (0) | 2021.11.15 |
댓글