[이것이자바다] chapter 1. 자바 시작하기

chapter1

자바 시작하기



자바의 역사

자바는 제임스 고슬링에 의해 만들어졌고, 썬 마이크로시스템즈가 1995년에 처음 발표했다.
자바 언어를 발표한 1995년부터 1999년까지는 윈도우(Windows) 프로그램 개발이 주류였기에, c++이 인기가 많았고, 자바는 c++에 비해 열세였다. 또 자바 언어가 메모리 및 CPU를 지나치게 많이 사용하기 때문에 윈도우 프로그래밍 언어로 부적합한 문제점이 있었다.
하지만 1999년도 부터 인터넷이 활성화되면서 웹 애플리케이션 구축용 언어로 자바는 급부상하였다.
왜냐하면 기업체 및 공공기관 다양한 서버 운영체제에서 단 한번의 작성으로 모든 곳에서 실행 가능한 언어는 자바뿐이었기 때문이다.
지금까지도 1위를 내주지 않고 있는 자바언어는 따라서 개발자라면 필수적으로 알아야 할 언어이다.



자바의 특징

  1. 이식성이 높은 언어이다. => 한번의 컴파일과 jvm을 통해 여러 운영체제에 실행가능한 언어.
  2. 객체 지향 언어이다. => 100% 객체지향 언어(Object Oriented Programming). 부품에 해당하는 객체를 먼저 만들고, 이들을 하나씩 조립 및 연결하여 전체 프로그램을 완성하는 기법. 설계도인 class를 작성해야 한다.
  3. 함수적 스타일 코딩을 지원한다. => 람다(Lamda Expression)
  4. 메모리를 자동으로 관리한다. => 객체 메모리 직접 할당, Garbage Collector
  5. 다양한 애플리케이션 개발 가능 => 윈도우, 리눅스, 유닉스, 맥 등 다양한 OS에서 실행되는 프로그램 개발 가능.
  6. 멀티 스레드(Multi Thread)를 쉽게 구현할 수 있다. => 동시에 여러가지 작업 처리하는 경우, 대용량 작업을 분리해 병렬 처리하는 경우 멀티 스레드 필요… -> 자바는 멀티 스레드 관련 API를 제공하기 때문에 편리하다.
  7. 동적 로딩을 지원한다. => 객체가 필요한 시점에 클래스를 동적 로딩해서 객체생성함. 따라서 개발 완료 후 유지보수 할 때 해당 클래스만 수정하면 되므로 전체 어플리케이션을 컴파일 할 필요가 없다. => 동적 라이브러리와 원리가 같다.
  8. 자바 가상 기계(JVM) => 자바 파일을 컴파일하면 중간 단계의 바이트코드 생성(.class) 따라서 바이트 코드를 실행할 가상의 운영체제가 필요 … => 그것이 바로 JVM(Java Virtual Machine)이고 JVM은 해당 컴퓨터의 OS에 종속적이다. ==> JNM에 의해 어떤 OS든 자바 실행 파일은 실행 가능하다. -> (Write Once, run anywhere.)