자바(Java Programming Language)

geonu·2022년 1월 19일
0
post-custom-banner

출처 : 자바의 정석
http://www.yes24.com/Product/Goods/24259565
https://cafe.naver.com/javachobostudy/20665

아래의 내용은 '자바의 정석'이라는 책의 내용을 간략하게 정리한 글입니다.

자바(Java Programming Language)

썬 마이크로 시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어

[ 자바 언어의 특징 ]

  • JVM으로 인한 운영체제에 독립적 (JVM은 운영체제에 종속적)
  • 상속, 캡슐화, 다형성이 잘 적용된 순수 객체지향언어
  • 객체지향적 설계로 인한 비교적 쉬운 학습 난이도
  • 자동 메모리 관리(Garbage Collection)
  • Java API를 통한 네트워크와 분산처리 지원
  • Java API를 통해 시스템과 관계없이 멀티쓰레드 지원
  • 클래스 구조로 인한 동적 로딩 지원

[ JVM(Java Virtual Machine) ]

'자바를 실행시키기 위한 가상 기계'
JAVA 어플리케이션은 실행 시 JVM에 의해 해석되어 하드웨어로 전달되는 구조로 속도가 느리다는 단점이 있지만 OS에 독립적이라는 특징을 가짐.
JVM으로 인해 JAVA 어플리케이션은 OS에 따라 변경하는 것 없이 실행이 가능하나 JVM은 OS에 종속적이기에 OS에 맞춘 전용 JVM이 필요하다.

[ JDK(Java Development Kit) 주요 실행파일]

  • javac.exe : 자바 컴파일러, 자바소스코드를 바이트코드로 컴파일
  • java.exe : 자바 인터프린터, 컴파일러가 생성한 바이트 코드를 해석 후 실행
  • javap.exe : 역어셈블러, 컴파일된 클래스파일을 원래 소스로 변환
  • javadoc.exe : 자동문서생성기, 소스파일에 있는 주석을 이용하여 Java API 문서와 같은 형식의 문서를 자동 생성
  • jar.exe : 압축프로그램. 클래스파일과 프로그램의 실행에 관련된 파일을 압축 및 해제

[ 자바 프로그램 실행 순서 과정 ]

Hello.java ->(javac.exe-컴파일)-> Hello.class ->(java.exe-실행)-> "HelloWorld"출력

  1. 클래스파일(*.class) 로드
  2. 클래스파일 검사(파일형식, 악성코드 체크)
  3. 클래스 파일 내 main(String[] args) 호출

[ 에러 ]

  • cannot find symbol 또는 cannot resolve symbol
    지정된 변수나 메서드를 찾을 수 없음

  • ';'expected
    세미콜론(;) 필요한 곳에 없음

  • Exception in thread "main" java.lang.NoSuchMethodError: main
    클래스 내에 main 메서드가 존재하지 않음

  • illegal start of expression
    문자에 문법적 오류가 있음

  • class, interface, or enum expected
    '{', '}'의 갯수가 맞지 않음

profile
시작이 있어야
post-custom-banner

0개의 댓글