본문 바로가기

Study/디지털 컨버전스

자바 [ Java ]

반응형

 

웹 브라우저넷스케이프에서 사용할 수 있는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영 체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 C++ 언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원하며 더욱 효율적이다.

 

 

<자바 특징>

① 자바는 간단하다 (simple)
① 하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바 언어는 이러한 점을 고려하여 디자인되었다. 자바 언어는 C++를 기반으로 개발되었음에도 C++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속 같은 것들이다. 그리고 C++에서 문제가 되는 기억 장소 경영 문제를 자동 쓰레기 회수와 할당(auto garbage collection)으로서 극복했다. 그러므로 프로그래머는 이것에 더이상 신경을 쓸 필요가 없다.
② 자바는 객체 지향 언어이다 (object-oriented)
요즘의 컴퓨터 언어는 객체 지향 언어로 개발된다. 자바도 객체 지향 언어이다. 객체 지향 언어에 대해 여기서 자세히 언급할 수는 없고 간단한 일례를 들면 상속이라는 것이 있다. 부모 객체로부터 자식 객체는 상속을 한다. 자식 객체가 부모 객체로부터 상속을 받으면 부모 객체의 데이터와 메소드를 사용할 수 있음을 의미한다. 따라서 소프트웨어를 개발할 때 재활용 측면에서 많은 장점을 가진다.
③ 자바는 보안에 강하다 (secure)
자바는 원래부터 네트워크 분산 처리 환경에서 사용하기 위해 디자인된 언어이다. 네트워크 환경은 다른 환경보다 보안의 측면이 강조되는 환경인 만큼 자바는 보안에 중점을 두고 있다. 자바는 바이러스가 침투하지 못하는 구조를 가지고 메모리에서 데이터 접근을 제한할 수 있다. 접근을 허용하지 않으면, 애플리케이션의 데이터 구조 또는 데이터에 대한 접근은 불가능하다.
④ 자바 아키텍처는 중립적이다 (architecture neutral)
네트워크는 다양한 기종의 컴퓨터와 다양한 플랫폼(예를 들면, 윈도 NT, 솔라리스, 매킨토시 OS 등의 운영 체제를 일컫는 말이다)과 다양한 하드웨어로 이루어져 있다. 자바는 자바 코드 소스를 컴파일하여 바이트 코드를 만들어내며 이 바이트 코드는 다양한 플랫폼에 설치된 자바 인터프리터에 의해 해석되기 때문에 어떠한 플랫폼에서도 실행 가능하다. 따라서 새로운 기계라도 자바 인터프리터만 설치되어 있으면 바이트 코드를 해석할 수 있다.
⑤ 자바는 이식성이 높다 (portable)
기존의 언어는 각각의 플랫폼마다 수치 연산 문제 등으로 인하여 약간씩 다른 코드를 사용한다. 그러나 자바는 이식성이 강하여 다른 운영 체제, 다른 CPU에서도 같은 코드를 사용할 수 있다. 이식성이 높을 때의 단점은 각각의 시스템의 특성을 고려하지 않기 때문에 최적의 성능을 얻어낼 수 없는데, 자바는 이러한 것을 극복한 언어이다.

 

 

<자바 스크립트>

 

선 마이크로시스템즈와 넷스케이프 사가 프로그래밍 언어인 자바를 응용하여 사용하기 쉽게 만든 자바스크립트는 표준 HTML 문서에 사용되어 인터랙티브한 웹 페이지를 만들 수 있게 한다. 현재 자바스크립트는 웹 상의 인터랙티브한 양식을 만드는 데 많이 사용되고 있다. 마이크로소프트와 넷스케이프의 제품을 포함한 대부분의 브라우저가 자바스크립트를 지원한다.

 

<자바와 자바스크립트의 차이>

① 자바스크립트는 사용자 컴퓨터에 의해 인터프리트(interpreted)되는 언어이다(마치 HTML과 같이). 그러나 자바는 일단 서버측에서 컴파일해야 하고, 프로그램의 실행은 사용자측에서 이루어진다.
② 두 언어 모두 객체 지향적 언어이다. 하지만 자바스크립트에는 상속성이나 클래스는 존재하지 않는다.
③ 자바스크립트는 HTML 코드에 끼워져서(embedded)사용되지만 자바는 HTML과 독립적으로 사용 가능하다. 단, HTML을 이용해야 자바 프로그램에 접근할 수 있다.
④ 흔히 루즈 타입(loose type)이라는 변수형을 선언할 필요가 없다. 반면에 자바는 항상 변수형을 선언해야 한다. 이 경우 스트롱 타입(strong type)이라 한다.
⑤ 자바스크립트는 동적 연결(dynamic binding)이기 때문에 객체에 대한 참조는 실행시에만 한다. 그러나 정적인 연결(static binding)을 취하는 자바는 컴파일시에 객체에 대한 참조가 이루어진다.
⑥ 두 언어 모두 안전하다. 그러나 자바스크립트의 경우는 HTML 코드에 직접 끼워져 있기 때문에 누구든지 볼 수가 있다. 그러나 자바의 경우는 다르다. 자바 소스 코드를 컴파일하면 바이트 코드로 불리는 클래스 파일이 생성된다. 따라서 프로그램 작성자가 디렉토리 안에 소스 코드를 지워도 HTML에서 부르는 것은 자바 클래스 파일이기 때문에 다른 사람이 그 소스를 보지 못한다는 점에서 차이가 있다.

 

Java 애플릿이 웹 상에서 구현되는 원리

 

 

출처

컴퓨터인터넷IT용어대사전, 전산용어사전편찬위원회 엮음, 2011.1.20, 일진사

반응형