자바에 대해서 다들 어떻게 알고 계신가요? 개발자인 고슬링은 1991년 새로운 언어를 개발했습니다. 이름하야 '오크' 라고 칭했습니다. 그배경은 무어냐? 창밖에 보인 나무 이름을 따라 붙인 거라고 합니다.
참 뜬금없죠?
그이후 4년뒤 1995년에 오크 언어는 고슬링이 즐겨마시던 자바커피의 이름을 따서 자바(java)라고 발표되었습니다.
그렇지 않아도 자바란 컴퓨터에 대해 무지한 상태일때 그냥 커피를 칭하는 이야긴줄로만 알았습니다. 자바심볼도 커피모양이죠? 우습기도하지만, 대단하기도 합니다.
<자바(java)의 특징>
웹 브라우저인 넷스케이프에서 사용할 수 있는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영 체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 c++언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원하며 더욱 효율적이다.
1. 자바는 간단하다(simple)
하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바언어는 이러한 점을 고려하여 디자인되었다. 자바언어는 c++을 기반으로 개발되었음에도 c++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속같은것들이다. 그리고 c++에서 문제가 되는 기억 장소 경영문제를 자동 쓰레기 회수와 할당(auto garbage collection)으로서 극복했다. 그러므로 프로그래머는 이것에 더이상 신경을 쓸 필요가 없다.
2. 자바는 객체 지향 언어이다(object-oriented)
요즘의 컴퓨터 언어는 객체 지향 언어로 개발된다. 자바도 객체 지향 언어이다. 객체 지향 언어에 대해 여기서 자세히 언급할 수는 없고, 간단한 일례를 들면 상속이라는 것이 있다. 부모 객체로부터 자식 객체는 상속을 한다. 자식 객체가 부모객체로부터 상속을 받으면 부모 객체의 데이터와 메소드를 사용할 수 있음을 의미한다. 따라서 소프트웨어를 개발할때 재활용 측면에서 많은 장점을 가진다.
3. 자바는 보안에 강하다(secure)
자바는 원래부터 네트워크 분산 처리 환경에서 사용하기 위해 디자인된 언어이다. 네트워크 환경은 다른 환경보다 보안의 측면이 강조되는 환경인 만큼 자바는 보안에 중점을 두고있다. 자바는 바이러스가 침투하지 못하는 구조를 가지고 메모리에서 데이터 접근을 제한할 수 있다. 접근을 허용하지 않으면, 애플리케이션의 데이터 구조 또는 데이터에 대한 접근은 불가능하다.
4. 자바 아키텍처는 중립적이다 (architecture neutral)
네트워크는 다양한 기종의 컴퓨터와 다양한 플랫폼(예를 들면, 윈도 nt, 솔라리스, 매킨토시 os등의 운영체제를 일컫는 말이다)과 다양한 하드웨어로 이루어져있다. 자바는 자바 코드 소스를 컴파일하여 바이트 코드를 만들어내며 이바트 코드는 다양한 플랫폼에 설치된 자바 인터프리터에 의해 해석되기 때문에 어떠한 플랫폼에서도 실행 가능하다. 따라서 새로운 기계라도 자바 인터프리터만 설치되어 있으면 바이트 코드를 해석할 수있다.
5. 자바는 이식성이 높다(portable)
기존의 언어는 각각의 플랫폼마다 수치 연산 문제 등으로 인하여 약간씩 다른 코드를 사용한다. 그러나 자바는 이식성이 강하여 다른 운영체제, 다른 cpu에서도 같은 코드를 사용할 수 있다. 이식성이 높을때의 단점은 각각의 시스템의 특성을 고려하지 않기 때문에 최적의 성능을 얻어낼 수 없는데, 자바는 이러한 것을 극복한 언어디ㅏ.
<자바와 자바스크립트의 차이점>
1. 자바스크립트는 사용자 컴퓨터에 의해 인터프리트(interpreted)되는 언어이다(마치 html과 같이) 그러나 자바는 일단 서버측에서 컴파일해야 하고, 프로그램의 실행은 사용자측에서 이루어진다.
2. 두언어 모두 객체 지향적 언어이다. 하지만 자바스크립트에는 상속성이나 클래스는 존재하지 않는다.
3. 자바스크립트는 html코드에 끼워져서 사용되지만 자바는 html과 독립적으로 사용 가능하다. 단, html을 이용해야 자바 프로그램에 접근할 수 있다.
4. 흔히 루즈타입이라는 변수형을 선언할 필요가없다. 반면에 자바는 항상 변수형을 선언해야한다. 이경우 스트롱타입이라 한다.
5. 자바스크립트는 동적연결이기 때문에 객체에 대한 참조는 실행시에만 한다. 그러나 정적인 연결을 취하는 자바는 컴파일시에 객체에 대한 참조가 이루어진다.
6. 두언어 모두 안전하다. 그러나 자바스크립트의 경우는 html 코드에 직접끼워져 있기 때문에 누구든지 볼 수가 있다. 그러나 자바의 경우는 다르다. 자바 소스코드를 컴파일하면 바이트 코드로 불리는 클래스 파일이 생성된다. 따라서 프로그램 작성자가 디렉토리 안에 소스코드를 지워도 html에서 부르는것은 자바 클래스 파일이기 때문에 다른 사람이 그 소스를 보지 못한다는 점에서 차이가 있다.
-출처 컴퓨터인터넷it용어대사전-
'자바 > JAVA' 카테고리의 다른 글
Array 배열, 이차 배열, 다중 배열 (0) | 2015.11.20 |
---|---|
초기화와 생성자 (0) | 2015.11.06 |
자바/Java 자바 용어 정리 ~! (0) | 2015.11.06 |
Caching (0) | 2015.11.06 |
접근제어자 pulbic, protected, private (0) | 2015.11.06 |