자바 (프로그래밍 언어)
위키백과 ― 우리 모두의 백과사전.
| 개발자 | 썬 마이크로시스템즈 |
| 최근 버전 | 6.0 |
| 운영체제 | 크로스 플랫폼 |
| 종류 | 프로그래밍 언어 |
| 라이선스 | GPL |
| 웹사이트 | http://java.sun.com/ |
자바(Java)는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이며, 썬 마이크로시스템즈에서 무료로 제공하고 있다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발했지만 현재 웹 어플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨어 개발에도 널리 사용하고 있다. 현재 버전 6까지 출시했다.
자바의 개발자들은 UNIX 기반의 배경을 가지고 있었기 때문에 문법적인 특성은 파스칼이 아닌 C++의 조상인 C 언어와 비슷하다.[1] 자바를 다른 컴파일언어와 구분짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점이다. 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트코드라는 특수한 바이너리 형태로 변환한다. 바이트코드를 실행하기 위해서는 JVM(자바 가상 머신, Java Virtual Machine)이라는 특수한 가상 머신이 필요한데, 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킨다. 때문에 자바로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있으며, 이 점이 웹 애플리케이션의 특성과 맞아떨어져 폭발적인 인기를 끌게 되었다.
목차 |
[편집] 역사
자바 언어는 1991년 6월 셋톱 프로젝트를 위해 제임스 고슬링(James Gosling)이 만들었다. 이 언어는 원래 제임스 고슬링의 오피스 밖에 있던 오크 나무를 따라 오크(Oak), 혹은 그린(Green) 이라고도 불렀으나 단어 리스트 중 무작위로 뽑은 자바(Java)를 선택했다. 고슬링의 목표는 C/C++ 스타일의 언어와 가상 머신을 구현하는 것이었다. 첫 공개 자바 버전은 1995년의 자바 1.0 이었다. 한번 쓰고 어느 곳에도 실행 "Write Once, Run Anywhere" 하는 것을 약속하였고 인기 플렛폼에 무료 런타임을 제공하였다. 이 플랫폼은 꽤 안정성을 지녔고 보안 시스템은 여러 설정을 통해 네트워크 및 파일 접근을 통제할 수 있었다. 대부분의 브라우져들은 곧 자바 애플릿(Java Applet) 을 웹 페이지 안에서 실행 할 수 있었고 자바의 인기는 급상승했다. 자바 2 (JDK 1.2 ~ 1.4) 의 출현으로 여러 다양한 플렛폼에서 사용 할 수 있는 설정(Configuration) 들을 만들었다. 예를 들어 J2EE 는 엔터프라이즈 애플리케이션을 실행할 수 있고 J2ME 는 모바일 애플리케이션을 실행할 수 있다. J2SE는 스탠더드 에디션 으로 지정되었다. 2006년에 마케팅 용으로 Java EE, Java ME, Java SE 순서대로 명칭을 바꾸었다.
썬사 (Sun Microsystems) 는 1997년 ISO/IEC JTC1 표준화 그룹, 그리고 나중에는 ECMA International 그룹과 접촉하여 정식 승인 받으려 했으나 곧 이 프로세스에서 철수 했다. 자바는 사실상 (de facto) 의 표준이며 자바 커뮤니티 프로세스(Java Community Process) 를 통해 관리가 된다. 썬사는 자바의 대부분을 무료로 배포하였으나 오픈이 아닌 Proprietary 소프트웨어였다. 썬사는 자바 엔터프라이즈 시스템같은 특정 라이선스를 팔아서 수입을 올렸다. 썬사는 자사의 개발용(Software Development Kit (SDK))과 개발용의 일부인 실행용 (Runtime Environment (JRE)) 을 구분한다. 실행용에는 컴파일러, 유틸리티 및 여러 개발용 헤더 파일이 포함되어 있지 않다.
2006년 11월 13일 썬사는 대부분은 자바를 GPL 라이선스로 소스를 오픈하였으며 2007년 5월 8일 이 과정을 마쳤다. 썬사가 권한을 가지고 있지 않은 대부분의 코어 부분을 오픈하였다.
[편집] 철학
[편집] 핵심 목표
자바 언어는 다음 5가지의 핵심 목표를 지니고 있다.
- 객체 지향 방법론을 사용해야 한다
- 같은 프로그램이 여러 운영 체제에서 실행될 수 있어야 한다
- 컴퓨터 네트워크 접근 기능이 기본으로 탑재 되어 있어야 한다
- 원격 코드를 안전하게 실행할 수 있어야 한다
- 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다
[편집] 버전
자바의 버전은 보통 자바SE(JDK/JRE)의 버전으로 말한다. JDK는 표준 라이브러리를 포함하며, JDK 버전이 바뀜에 따라 이 라이브러리가 확대되고 인터페이스(API)가 바뀐다.
언어 자체는 자바언어명세(JLS)에서 정의되며 판(edition)으로 구분한다. JDK가 확장되는 동안 언어는 2판에서 거의 변화가 없었으나, JDK 5와 함께 바뀐 JLS 3판에서 제네릭(generic) 타입, 애너테이션(annotation) 같은 기능이 도입되면서 상당히 바뀌었다. JDK 7에서도 클로저(closure) 등이 도입될 것으로 알려져 있다.
현재 자바언어는 JLS 3판, JDK는 버전 6이다.
- JLS 1판
- JLS 2판
- JDK 1.4: assertion 기능 추가
- JLS 3판(JDK 5)
[편집] 자바 API
- 자바 API 문서를 참고하십시오.
[편집] 함께 보기
[편집] 참고문헌
- ↑ Core Java 2 vol 1. page:10
[편집] 바깥 고리
- (영어) 공식 홈페이지
- (카누리어) 자바인증원 홈페이지
|
|
|
|---|---|
| 라이브러리 | C 표준 라이브러리 • GNU C 라이브러리 • dietlibc • uClibc • Newlib • EGLIBC |
| 파생 언어 | C++ • 오브젝티브-C • D (프로그래밍 언어) • C# • Cyclone • JAVA • C++/CLI |
|
|
|
|---|---|
| 산업용 | 델파이 · 루비 · 리스프 · 비주얼 베이직 · 스몰토크 · 스킴 · 어셈블리 · 얼랑 · 에이다 · 오브젝티브-C · 자바 · 자바스크립트 · 코볼 · 파이썬 · Perl · 포트란 · 프롤로그 · 하스켈 · ABAP · AWK · C · C++ · C# · ML · PHP · PL/SQL · SAS · sh · VB.NET |
| 교육용 | 로고 · 에펠 · 파스칼 |
| 역사적 의미가 있는 언어 |
베이직 · 시뮬라 · 알골 · 클리퍼 · 파워빌더 · APL · MUMPS · PL/I |
![]() |
이 글은 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |
