2014년 8월 9일 토요일

JAVA란?


Java 특징

Java(자바)는 크로스 플랫폼(Cross-Platform) 환경에서 사용할 수 있는 프로그래밍 언어입니다. 크로스 플랫폼 또는 멀티 플랫폼(Multi-Platform)은 이종의 CPU 아키텍쳐(Architecture)에서 소프트웨어가 동일하게 동작할 수 있다는 것을 의미하는 용어입니다.이렇게 이종의 플랫폼에서 실행될 수 있는 소프트웨어를 크로스 플랫폼 소프트웨어라고 합니다. Java는 가상머신(JVM : Java Virtual Machine)을 이용해서 크로스 플랫폼 동작을 보장합니다.
원시 코드(Source Code)는 Java 컴파일러에 의해 바이트 코드로 변환됩니다. 그리고 플랫폼에 설치된 Java 가상 머신에 의해 Java 바이트 코드가 실행됩니다. 따라서, 한번 작성된 Java 코드가 모든 플랫폼에서 동일하게 동작하기는 하지만, 직접 기계어를 실행하는 다른 컴파일러 언어보다 대체적으로 수행 속도가 떨어지곤 했습니다. 하지만, 최근 버전의 Java 가상머신은 보다 빠른 수행 속도를 보이기도 합니다.

Java는 객체지향 프로그래밍 언어입니다. Java의 개발은 처음부터 객체지향언어를 목표로 설계되었으며, C언어와 C++를 기반으로 하였기 때문에 문법적 특징이 많이 유사합니다. 하지만, 몇 가지 큰 차이점을 가지고 있습니다.

C언어 처럼 메모리를 대상으로 번지(Address) 연산을 수행할 수 없습니다.
할당된 메모리의 해제를 주기적으로 한번에 수행하는 Garbage Collection을 수행합니다.
C++처럼 다중상속을 허용하지 않습니다.


Java 역사

1991년 썬 마이크로시스템즈(SUN Microsystems) 제임스 고슬링(James Gosling)에 의해 개발되었으며, 객체지향 프로그래밍 언어로써 개발되었습니다. SUN은 현재 오라클(Oracle)에 인수되었기 때문에, Java 또한 오라클에서 개발 및 배포되고 있습니다. 초기 개발 목표는 PC가 아닌 전자가전제품에 사용될 수 있는 프로그램 개발을 위한 언어였지만, 현재는 PC 뿐만 아니라, 셋탑, Android 스마트 폰 등 많은 플랫폼에서 사용되고 있습니다. 
1995년 Java 1.0이 무료로 배포되었으며, 많은 에러를 수정하고 기능이 보강된 후속 버전의 Java 1.2가 몇해 후 발표 되어 많이 사용되게 되었습니다. Java 1.2 버전은 다양한 플랫폼에서 사용할 수 있도록 설정 기능이 보강되었습니다. 이때부터, J2SE - Java SE(Standard Edition), J2EE - Java EE(Enterprise Edition), J2ME - Java ME(Macro Edition)으로 나누어 배포되고 있습니다. 흔히, Java라고 하면, Java SE 버전을 의미하며, JDK(Java Development Kit)을 포함합니다. 
Java의 기능이 대폭 강화된 1.2 버전이 마이너 업그레이드 느낌이 강해서 Java 2.0으로 이름이 변경되었으며, Java 1.5 버전은 5.0, 그리고 현재, Java 8 버전까지 배포되고 있습니다. 

댓글 없음:

댓글 쓰기