Java 프로그래밍 언어: 진화, 버전, 응용 분야
Java 프로그래밍 언어는 원래 James Gosling이 주도하여 Sun Microsystems에서 개발되었으며, 1995년 Sun Microsystems의 Java 플랫폼(Java 1.0 [J2SE])의 핵심 구성 요소로 출시되었습니다.
Java Standard Edition의 최신 릴리스는 Java SE 8입니다. Java의 발전과 폭넓은 인기로 다양한 플랫폼에 맞춘 여러 구성이 만들어졌습니다. 예를 들어: 기업용 애플리케이션의 J2EE, 모바일 애플리케이션의 J2ME.
새로운 J2 버전들은 각각 Java SE, Java EE, Java ME로 이름이 변경되었습니다. Java는 한 번 작성하면 어디서나 실행된다(Write Once, Run Anywhere)를 보장합니다.
Java의 특징:
객체 지향 - Java에서 모든 것은 객체입니다. 객체 모델을 기반으로 하므로 쉽게 확장할 수 있습니다.
플랫폼 독립적 - C, C++ 등 많은 언어와 달리 Java는 컴파일 시 플랫폼별 기계어가 아닌 플랫폼 독립적인 바이트코드로 컴파일됩니다. 이 바이트코드는 웹을 통해 배포되며, 실행 플랫폼의 가상 머신(JVM)에서 해석됩니다.
단순함 - Java는 배우기 쉽게 설계되었습니다. OOP Java의 기본 개념을 이해하면 마스터하기 쉽습니다.
보안성 - Java의 보안 기능으로 바이러스 없는, 변조 없는 시스템 개발이 가능합니다. 인증 기술은 공개키 암호화 기반입니다.
아키텍처 중립적 - Java 컴파일러는 아키텍처 중립적인 객체 파일 형식을 생성하여, Java 런타임 시스템이 있는 많은 프로세서에서 컴파일된 코드를 실행할 수 있게 합니다.
이식성 - 아키텍처 중립적이고 구현 종속적인 명세 요소가 없어 Java는 이식 가능합니다. Java 컴파일러는 깨끗한 이식성 경계인 POSIX 부분집합으로 ANSI C로 작성되었습니다.
견고함 - Java는 컴파일 타임 오류 검사와 런타임 검사를 강조하여 오류 발생 상황을 제거하려 노력합니다.
멀티스레드 - Java의 멀티스레드 기능으로 동시에 여러 작업을 수행하는 프로그램을 작성할 수 있습니다. 이 설계 기능으로 개발자는 원활하게 실행되는 대화형 애플리케이션을 구축할 수 있습니다.
해석형 - Java 바이트코드는 즉석에서 네이티브 기계 명령어로 변환되며 어디에도 저장되지 않습니다. 링크가 점진적이고 가벼운 과정이므로 개발 프로세스가 더 빠르고 분석적입니다.
고성능 - JIT(Just-In-Time) 컴파일러 사용으로 Java는 고성능을 제공합니다.
분산 처리 - Java는 인터넷의 분산 환경을 위해 설계되었습니다.
동적 - Java는 진화하는 환경에 적응하도록 설계되어 C, C++보다 더 동적입니다. Java 프로그램은 런타임에 객체 접근을 검증하고 해결하는 데 사용할 수 있는 광범위한 런타임 정보를 가질 수 있습니다.
Java의 역사
James Gosling은 1991년 6월 셋톱 박스 프로젝트 중 하나를 위해 Java 언어 프로젝트를 시작했습니다. 이 언어는 처음에 Gosling의 사무실 밖에 있던 참나무에서 따온 'Oak(오크)'라는 이름으로 불렸으며, 'Green'이라는 이름으로도 불리다가 나중에 무작위 단어 목록에서 'Java'로 이름이 변경되었습니다.
Sun은 1995년 첫 공개 구현체로 Java 1.0을 출시했습니다. 인기 플랫폼에서 무료 런타임을 제공하는 Write Once, Run Anywhere (WORA)를 약속했습니다.
2006년 11월 13일, Sun은 GNU General Public License (GPL) 조건 하에 Java의 많은 부분을 무료 오픈 소스 소프트웨어로 공개했습니다.
2007년 5월 8일, Sun은 이 과정을 완료하여 Sun이 저작권을 보유하지 않은 일부 코드를 제외하고 Java의 모든 핵심 코드를 무료 오픈 소스로 만들었습니다.
필요한 도구
이 튜토리얼에서 다루는 예제를 수행하려면 최소 64MB RAM(128MB 권장)의 Pentium 200-MHz 컴퓨터가 필요합니다.
또한 다음 소프트웨어가 필요합니다:
- Linux 7.1 또는 Windows XP/7/8 운영체제
- Java JDK 8
- Microsoft Notepad 또는 기타 텍스트 에디터
이 튜토리얼은 Java를 사용한 GUI, 네트워킹, 웹 애플리케이션 생성에 필요한 기술을 제공합니다.
다음 단계
다음 장에서는 Java와 그 문서를 얻는 방법, Java를 설치하고 Java 애플리케이션 개발 환경을 준비하는 방법을 안내합니다.