Java ; 자바

자바는 특별히 인터넷의 분산환경에서 사용되도록 설계된 프로그래밍 언어이다. 자바는 C++ 언어처럼 보이지만, C++ 보다는 사용하기에 간단하고 프로그래밍의 완전한 객체지향성을 강화하였다. 자바는 한 대의 컴퓨터나, 네트웍 상의 분산 클라이언트/서버 환경에서도 실행되는 응용프로그램을 만드는데 모두 사용될 수 있다. 이것은 또한 웹페이지의 일부로서 쓰이는 작은 응용프로그램 모듈이나 애플릿 등을 만드는 데에도 사용될 수 있다. 애플릿들은 사용자들이 웹페이지를 통해 상호작용을 할 수 있도록 해준다. 자바의 주요 특성들을 요약하면 다음과 같다.

  • 사용자가 만드는 프로그램들은 네트웍 상에서 쉽게 이식이 가능하다. 사용자가 개발한 프로그램은 자바 가상머신이 설치된 서버클라이언트 등 네트웍의 어디에서든지 실행될 수 있도록, 자바 바이트코드로 컴파일된다. 자바 가상머신은 바이트코드를 실제 컴퓨터 하드웨어에서 실행될 수 있는 코드로 해석한다. 이것은 명령어의 길이 등, 개별 컴퓨터 플랫폼간의 차이가 인식되고, 프로그램이 실행되어지고 있는 바로 그 위치에서 국부적으로 조정될 수 있다는 것을 의미한다. 특정한 플랫폼에 맞는 프로그램 버전은 더 이상 필요하지 않다.
  • 자바코드는 "튼튼하다". 즉, 이것은 C++나 기타 다른 언어로 작성된 프로그램들과는 달리, 자바 객체들은 외부 데이터로부터 내부 또는 알려진 다른 객체들로 향하는 참조를 포함하지 않을 수 있다는 것을 의미한다. 이것은 명령어가 다른 응용프로그램이나 운영체계 그 자체 내에 있는 데이터 저장소의 주소를 포함하지 않음을 보장함으로써, 그 프로그램이나 운영체계의 실행이 중단되거나 고장을 일으키지 않게 한다. 자바 가상머신은 각 객체에 대해 무결성을 보장하기 위해 여러 번의 검사를 실시한다.
  • 자바는 객체지향적이다. 이는 다른 특성들 가운데, 비슷한 객체들은 같은 클래스의 일부가 되고 공통 코드를 상속하는 등의 장점을 취할 수 있다는 것을 의미한다. 객체들은 전통적이고 절차적인 "동사"와 관계 있기보다, 사용자에게 "명사"와 관계 있는 것으로 생각하게 한다. 메쏘드는 객체의 능력이나 행동 중의 하나로 생각할 수 있다.
  • 서버가 아닌 클라이언트에서 실행되는 것 외에도, 자바 애플릿은 빠르게 실행되기 위해 설계된 다른 특성들을 가진다.
  • C++에 비해 자바는 배우기 쉽다 (그러나, 물론 하룻밤새 배울 수 있는 것은 아니다).
자바는 1995년에 썬마이크로시스템즈에 의해 소개되었으며, 그 즉시 웹의 대화형 가능성에 대해 새로운 의미를 창출하였다. 주요 웹브라우저들은 모두 자바 가상머신을 포함한다. IBM, 마이크로소프트 등 거의 모든 주요 운영체계 개발자들이 자신들의 제품에 자바 컴파일러를 추가하였다.

자바 가상머신은 한번에 하나의 바이트코드 명령어를 해석하는 대신, 바이트코드를 동적으로 컴파일하여 실행코드로 만드는 JIT 컴파일러를 선택적으로 포함할 수 있다. 많은 경우에서, 동적 JIT 컴파일이 가상머신 해석보다 더 빠르다.

자바는 자바스크립트와 혼동되어서는 안된다. 넷스케이프에서 시작된 자바스크립트는 상위 계층에서 해석되어지며, 자바보다 배우기 쉽지만, 이식성이나 바이트코드의 실행 속도에서 자바보다 다소 떨어진다. 자바 애플릿들은 다시 컴파일하지 않고도 거의 모든 운영체계에서 실행될 것이고, 자바는 운영체계 고유의 확장판이나 변형이 없기 때문에, 자바는 일반적으로 웹의 응용프로그램을 개발하는데 있어 전략상 가장 중요한 언어로 간주되고 있다 (그러나, 자바스크립트는 웹 클라이언트 또는 서버 상에서 실행되는 크기가 작은 응용프로그램을 위해 유용할 수 있다).


이 정보는 1999년 12월 4일에 수정되었습니다.
영어판(whatis.com)