본문 바로가기
Back-End/Java

Java란?

by 달의 조각 2021. 11. 15.
이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다.

 

언어 특징

  1. 운영체제에 독립적
  2. 자바가상머신(JVM): 운영체제에 종속적
  3. 객체지향언어: 상속, 캡슐화, 다형성
  4. 자동 메모리 관리(Garbage Collection)
  5. 네트워크와 분산 처리를 지원
  6. 멀티쓰레드 지원: 시스템과는 관계 없이 구현 가능, 관련 라이브러리 제공, 자바 인터프리터가 여러 쓰레드에 대한 스케줄링 담당
  7. 동적 로딩 지원: 필요 시점에 따라 필요한 클래스만 유연하게 로딩하고, 작성할 수 있다
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

댓글