JAVA 언어 개요

자바의 특징

  1. 단순함

    • Java Garbage Collector에 의한 자동 메모리 관리
  2. 객체지향적(Object-Oriented) 언어

    • 코드와 객체의 재사용
    • 클래스 라이브러리 API의 다양성
  3. 분산 처리에 용이함

    • 분산 환경에서 TCP/IP 네트워크 프로토콜을 통해 통신 가능
    • 원격 메서드 호출(RMI, Remote Method Invocation) 라이브러리 제공
  4. 컴파일 언어인 동시에 인터프리터 언어임

    • 소스코드(.java 파일) -> 컴파일(javac) -> 바이트 코드의 중간코드(.class 파일) -> 기계어로 해석 -> 실행
  5. 플랫폼 독립적임

    • Write Once Run Anywhere
    • 자바 컴파일러와 자바 가상 머신으로 인해 사용하는 운영체제, CPU 등의 하드웨어에 종속되지 않고 사용 가능
    • 단, 코드가 OS에서 바로 실행되는 것이 아니라 JVM을 거쳐 실행되므로 다른 프로그래밍 언어(ex. C/C++/Python)보다 실행 시간이 오래걸림
  6. 멀티쓰레드 방식을 지원

    • 하나의 CPU가 여러개의 프로그램을 동시에 수행하게 함으로써 수행 속도가 높음

자바 프로그램 구조

자바 플랫폼

사진

자바 가상 머신

  • 자바 프로그램과 운영체제 중간에 존재하여 서로를 분리함으로써 애플리케이션이 운영체제에 영향받지 않고 동작할 수 있는 환경을 제공.
  • 다양한 자바 API를 내장하고 있음. 프로그래머가 필요로하는 기본 클래스들을 거대 라이브러리로 제공함으로써 기능을 쉽게 구현할 수 있음.

자바 개발 환경

  • JRE(Java Runtime Environment) : JVM + Core API
  • JDK(Java Development Kit) : JRE + 각종 개발 도구(컴파일러 등)