Ch 1.1 자바(Java) 개요
대상 버전: Java 17 / 21 (LTS) 공식 문서: Oracle Java Documentation
자바는 1995년 썬 마이크로시스템즈(Sun Microsystems)에서 발표한 객체지향 프로그래밍 언어입니다. 현재는 오라클(Oracle)에서 관리하고 있으며, 엔터프라이즈 서버, 안드로이드 앱, 빅데이터 시스템 등 다양한 분야에서 사용되고 있습니다.
1. 자바란?
자바는 "Write Once, Run Anywhere" (한 번 작성하면 어디서든 실행된다)라는 철학을 가지고 설계되었습니다. 이는 자바 바이트코드가 특정 하드웨어가 아닌 JVM(Java Virtual Machine) 위에서 실행되기 때문입니다.
2. 자바의 역사
- 1991년: 제임스 고슬링(James Gosling)과 그의 팀이 가전제품용 언어인 'Oak' 프로젝트 시작.
- 1995년: 'Java'라는 이름으로 공식 발표. 웹 브라우저에서의 실행(Applet)을 통해 폭발적인 인기.
- 2010년: 오라클이 썬 마이크로시스템즈를 인수.
- 현재: 6개월마다 새로운 버전을 발표하며 현대적인 언어 기능을 빠르게 도입 중.
3. 자바 언어의 특징
- 객체지향(OOP): 모든 것을 객체 단위로 생각하며, 재사용성과 유지보수성이 뛰어납니다.
- 플랫폼 독립성: JVM만 있다면 윈도우, 리눅스, 맥 OS 등 운영체제에 상관없이 동일한 실행 결과를 보장합니다.
- 자동 메모리 관리(Garbage Collection): 개발자가 직접 메모리를 해제할 필요 없이 시스템이 알아서 관리해줍니다.
- 멀티쓰레드 지원: 동시에 여러 작업을 수행하는 프로그램을 쉽게 작성할 수 있습니다.
- 풍부한 라이브러리: 표준 라이브러리와 방대한 오픈소스 생태계가 존재합니다.
4. JVM (Java Virtual Machine)
JVM은 자바 애플리케이션을 실행하는 가상 컴퓨터입니다.
- 역할: 자바 바이트코드를 해당 OS의 기계어로 변환하여 실행합니다.
- 장점: OS에 종속되지 않는 독립성을 부여합니다.
- 단점: 일반 네이티브 언어(C/C++)보다 한 단계 더 거치므로 아주 미세한 성능 차이가 있을 수 있지만, 최신 JIT 컴파일러 기술로 거의 극복되었습니다.
노트
자바는 성능과 안정성, 그리고 생산성 사이의 균형이 매우 잘 잡힌 언어로 평가받습니다.