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