자바는 1995년, 미국 소프트웨어 서비스 기업 선 마이크로시스템즈(Sun Microsystems)의 제임스 고슬링(James Gosling)을 중심으로 개발된 대표적인 객체 지향 프로그래밍 언어이다.
자바는 처음, 가전제품을 제어할 수 있는 내장 프로그래밍(embedded program)을 만들기 위한 목적으로 개발됐다. 그러나 개발이 이루어진 당시 인터넷에서 플랫폼의 구애를 받지 않고 응용 프로그램을 개발할 수 있다는 장점 덕분에 자바의 사용 범위는 일반적인 프로그래밍으로 확대되었다.
지금은 가장 대표적인 프로그래밍 언어로, 많은 소프트웨어 개발에 활용되고 있다.
자바의 특징은 아래와 같다.
▲ 객체 지향 언어이다. 자바는 모든 것을 객체로 표현하며 클래스를 이용하여 객체를 정의하고 관리한다.
▲ C/C 언어와 유사한 특성을 지닌 언어이다. 그러나 자바는 C/C 에서 문제성이 있는 포인터를 지원하지 않으면서 객체 참조를 지원한다는 차이점이 있다.
▲ 정적 타입 검사와 실행 시간 타입 검사를 동시에 수행한다.
▲ 실행 시간 바인딩(runtime binding)을 지원한다. 실행 시간 바인딩은 객체 지향 언어에서 필수적인 특징이다.
▲ 메모리 관리에서 배열과 객체에 대한 동적 할당을 지원한다. 또한, 자바에서 사용되지 않는 메모리에 대하여 자동적 쓰레기 수집(garbage collection)을 제공한다.
▲ 생성된 객체를 참조할 수 있는 특별한 값인 객체 참조 값을 제공한다. 객체 참조 값은 객체 자체를 참조하는 값으로, 객체 필드와 메소드에 접근할 수 있게 한다.
▲ 자바의 클래스는 객체의 필드와 메소드를 정의하는 기능 외에도 타입 기능, 객체 생성 기능, 클래스 변수와 클래스 메소드를 가지는 객체 기능 등 다양한 기능을 가지는 아주 중요한 구성요소이다.
▲ 하나의 클래스만 확장할 수 있음으로 다중 상속을 지원하지 않고 단일 상속만을 지원한다.
자바는 객체를 표현하기 위한 추상화되고 캡슐화된 클래스를 작성할 수 있게 하며, 여러 형태의 다형성을 지원한다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]