Java란?
Java는 썬 마이크로시스템즈(Sun Microsystems, Inc. 이하 썬)의 제임스 고슬링이라는 분과 다른 연구원들이 개발한, 컴퓨터 등의 다양한 기기에서 동작하는 프로그램을 제작할 수 있는 프로그래밍 언어입니다. 운영체제에 관계없이 실행할 수 있다는 특징을 지니고 있습니다.
Java의 간단한 역사
1991년 개발을 시작해 1996년 1월 공식 발표를 하였으며, 처음에는 공개된 프로젝트가 아닌 사유 소프트웨어였습니다. 그러나 2006년 말 Java를 GPL 라이선스로 공개함으로써 대부분의 코드를 오픈하였습니다. 2009년 제작사인 썬이 오라클이라는 회사로 인수합병되며 현재는 Java에 대한 권리 및 유지보수 책임 또한 오라클로 넘어가게 되었습니다.
Java의 철학
Java는 다음과 같은 5가지의 핵심 목표를 지니고 개발되었습니다. 여기서는 '그냥 이런 목표가 있었구나'하고 넘어가시면 됩니다. 'Java의 기본'을 넘어 더욱 깊이 공부하고 사용하시다보면 자연스럽게 '아… 그랬구나…'하고 이해하게 될 부분입니다.
- 객체 지향 방법론을 사용해야 한다.
- 같은 프로그램이 여러 운영 체제에서 실행될 수 있어야 한다.
- 컴퓨터 네트워크 접근 기능이 기본으로 탑재되어 있어야 한다.
- 원격 코드를 안전하게 실행할 수 있어야 한다.
- 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다.
Java는 어떻게 다양한 운영체제에서 실행될 수 있었을까?
'Java의 기본'수업의 커버에서도 보셨다시피 Java로 만든 프로그램은 운영체제에 관계없이 실행할 수 있다는 특징을 가지고 있습니다. 그러나 사실 어떠한 운영체제에서도 실행할 수 있는 프로그램은 존재하지 않습니다.
Java는 이러한 문제점을 해결하기 위해 특별한 방법을 사용했습니다. 바로 '자바가상머신(Java Virtual Machine)'이라는 프로그램을 설치하도록 한 것입니다. 각 운영체제에 맞추어 실행할 수 있는 자바가상머신을 운영체제별로 미리 만들어두고, Java로 만들어진 프로그램을 실행하면 이 자바가상머신을 통해 프로그램이 작동하도록 설계해둔 것입니다. 즉, Windows에는 Windows용 자바가상머신이 있고 Mac OS에는 Mac OS용의 자바가상머신이, Linux에는 Linux용 자바가상머신이 있어서, 각자 자신의 운영체제에 맞는 자바가상머신을 한번만 설치해두면 하나의 Java 프로그램을 어느 운영체제에서든지 실행할 수 있는 것입니다. Java가 나오기 이전까지 다른 대다수의 프로그래밍 언어로 프로그램을 만들게 되면, 똑같은 기능을 구현하기 위해 각 운영체제에 맞추어 새롭게 코드를 작성해야만 했습니다. 그러나 Java가 나타남으로 인해서 프로그래머들의 생산성이 비약적으로 증가하게 된 것이죠.
자바가상머신을 컴퓨터에 설치해야만 Java로 제작한 프로그램이 실행된다는 단점이 있지만, 이를 통해 한 번 Java로 프로그램을 만들어두면 어떤 운영체제나 기기에서도 실행된다는 이점을 얻어간 것입니다.
Java에 관련된 정보를 얻을 수 있는 곳
- okjsp.pe.kr : 국내 최대 Java관련 커뮤니티(Java를 이용한 웹서비스에 특화되어 있으나 기본적인 Java에 대한 내용도 다루고 있습니다.)