JAVA란?
Java는 1995년에 썬마이크로시스템즈에 의해 소개되었으며, 특별히 인터넷 분산환경에서 사용되도록 설계된 프로그래밍 언어이다. Java는 C/C++ 언어처럼 보이지만, C++ 보다는 사용하기에 간단하고 프로그래밍의 완전한 객체지향성을 강화하였다. Java는 한 대의 컴퓨터나, 네트워크 상의 분산 클라이언트/서버 환경에서도 실행되는 응용프로그램을 만드는데 모두 사용될 수 있다.
JAVA의 태동
Java는 1991년 선마이크로시스템즈(SUN Microsystems) 엔지니어들에 의해 고안된 oak라는 언어에서 시작되었다. 제임스 고슬링과 아서 밴 호프와 같은 엔지니어들의 기존 목표는 가전제품에 사용할 수 있는 소프트웨어를 만드는 것이었다. 기존의 프로그래밍 언어로 작성된 프로그램은 플랫폼간에 호환성이 없어 사용이 어려웠다.
이에 선마이크로시스템즈는 플랫폼에 독립적이며 메모리 사용량이 적은 새로운 언어와 실행 체계를 개발하였고, 처음에는 이 언어의 이름을 오크(oak)라고 지었다. 오크는 처음에는 가전제품이나 소형기기에 사용될 목적이었지만 여러종류의 운영체제를 사용하는 인터넷이 등장하자 오크가 이에 적합하다고 판단해 이를 발전시켰다.
마침내 1995년 SunWorld 95에서 자바(Java)라는 이름으로 새로운 기술을 발표하였다. 당시 가장 많이 사용되는 브라우저인 넷스케이프(Netscape)에 자바 기술을 적용하면서 자바는 급격히 퍼졌고, 오늘날 인터넷 시대의 프로그래밍 언어로 자리 매김 하게 되었다.
JAVA의 특징은?
- 간단하다.(simple)
하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바 언어는 이러한 점을 고려하여 디자인되었다. 자바 언어는 C++를 기반으로 개발되었음에도 C++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속 같은 것들이다. 그리고 C++에서 문제가 되는 기억 장소 경영 문제를 자동 쓰레기 회수와 할당(auto garbage collection)으로서 극복했다. 그러므로 프로그래머는 이것에 더이상 신경을 쓸 필요가 없다.
- 객체 지향 언어이다 (object-oriented)
Java는 프로그래밍의 대세로 자리잡은 *객체 지향 프로그래밍언어 중의 하나로 상속, 캡슐화, 다형성, 정보은닉이 잘 적용된 순수한 객체지향언어이다.
*객체(Object)란?
현실세계의 사물(object)을 모방한 프로그램상의 object를 가리킴
- 보안에 강하다 (secure)
자바는 네트워크 분산 처리 환경에서 사용하기 위해 디자인된 언어이다. 네트워크 환경은 다른 환경보다 보안의 측면이 강조되는 환경인 만큼 자바는 보안에 중점을 두고 있다. 자바는 바이러스가 침투하지 못하는 구조를 가지고 메모리에서 데이터 접근을 제한할 수 있다.
- 자바 아키텍처는 중립적이다 (architecture neutral)
네트워크는 다양한 기종의 컴퓨터와 다양한 플랫폼(예를 들면, 윈도 NT, 솔라리스, 매킨토시 OS 등의 운영 체제를 일컫는 말이다)과 다양한 하드웨어로 이루어져 있다. 자바는 자바 코드 소스를 컴파일하여 바이트 코드를 만들어내며 이 바이트 코드는 다양한 플랫폼에 설치된 자바 인터프리터에 의해 해석되기 때문에 어떠한 플랫폼에서도 실행 가능하다. 따라서 새로운 기계라도 자바 인터프리터만 설치되어 있으면 바이트 코드를 해석할 수 있다.
- 이식성이 높다 (portable)
기존의 언어는 각각의 플랫폼마다 수치 연산 문제 등으로 인하여 약간씩 다른 코드를 사용한다. 그러나 자바는 이식성이 강하여 다른 운영 체제, 다른 CPU에서도 같은 코드를 사용할 수 있다. 이식성이 높을 때의 단점은 각각의 시스템의 특성을 고려하지 않기 때문에 최적의 성능을 얻어낼 수 없는데, 자바는 이러한 것을 극복한 언어이다.
자바언어는 초보자들도 쉽게 접근이 가능하며 웹 개발, 어플리케이션 개발, 시스템 개발 등 다양한 형태로 개발이 가능하다. 프로그래밍에 관심이 있다면 JAVA를 배워 보는 것을 추천한다.
대학생 기자 임지연 / 덕성여자대학교 컴퓨터학과
'보안라이프 > IT트렌드' 카테고리의 다른 글
다음 시대는 바로 이것 ? 사물인터넷(IoT)의 시대 (0) | 2014.03.08 |
---|---|
무엇에 쓰는 물건인고? (3D 프린터) [1부] (0) | 2014.02.14 |
말도 많고 탈도 많은 가상 화폐 비트코인의 정체 (2) | 2013.12.10 |
IT 전공자 취업 시 눈여겨볼 시험 TOPCIT (2) | 2013.11.28 |
전세계 연구기관에서 인터넷을 자유롭게, eduroam (0) | 2013.11.15 |