Java란?
Java는 1995년에 Sun Microsystems에서 개발된 객체 지향 프로그래밍 언어입니다. 현재는 Oracle Corporation에 의해 관리되고 있습니다. Java의 가장 큰 특징 중 하나는 "한 번 작성하면 어디서나 실행될 수 있다(Write Once, Run Anywhere; WORA)"는 이념입니다. 이는 Java 프로그램이 다양한 플랫폼에서 변경 없이 실행될 수 있음을 의미합니다. 이러한 특성은 Java가 다양한 환경에서 널리 사용되는 이유 중 하나입니다.
주요 특징
- 객체 지향 프로그래밍(OOP) : Java는 클래스와 객체를 기반으로 한 객체 지향 프로그래밍 언어입니다. 이를 통해 코드의 재사용성, 모듈성, 유지 보수성을 향상시킬 수 있습니다.
- 플랫폼 독립성 : Java 애플리케이션은 Java 가상 머신(JVM) 위에서 실행되므로, Java 애플리케이션은 운영 체제에 구애받지 않고 실행될 수 있습니다.
- 자동 메모리 관리 : Java는 가비지 컬렉션을 통해 자동으로 메모리를 관리합니다. 개발자가 메모리를 직접 해제할 필요가 없어 메모리 누수를 줄일 수 있습니다.
- 보안 : Java는 샌드박스 보안 모델을 사용하여 시스템의 다른 부분으로부터 애플리케이션을 격리시킵니다. 이는 Java 애플리케이션이 시스템에 해를 끼치지 않도록 보호합니다.
- 멀티스레드 : Java는 내장된 멀티스레딩 기능을 지원하여, 복잡한 프로그램에서도 높은 성능을 유지할 수 있게 해줍니다.
용도
Java는 유연성과 보안성 덕분에 웹 개발, 모바일 애플리케이션 개발(Android), 대규모 엔터프라이즈 시스템, 클라우드 기반 서비스, 사물인터넷(IoT) 기기 등 다양한 분야에서 사용됩니다.
개발 환경
Java 개발을 위한 주요 도구로는 JDK(Java Development Kit)가 있으며, 이는 컴파일러, 자바 런타임 환경(JRE), 다양한 개발 도구를 포함합니다. 또한, Eclipse, IntelliJ IDEA, NetBeans와 같은 다양한 통합 개발 환경(IDE)이 Java 개발을 더욱 쉽고 효율적으로 만들어줍니다.
JVM (Java Virtual Machine)
JVM은 Java 바이트코드를 실행할 수 있는 가상 머신입니다. Java 프로그램이 컴파일되면, 플랫폼 독립적인 바이트코드로 변환되며, 이 바이트코드는 JVM 위에서 실행됩니다. JVM은 이 바이트코드를 현재 실행 중인 운영 체제가 이해할 수 있는 기계어로 변환하는 역할을 합니다. JVM의 가장 큰 장점은 "한 번 작성하면 어디서나 실행될 수 있다(Write Once, Run Anywhere; WORA)"는 Java의 핵심 철학을 실현한다는 것입니다. 즉, 같은 Java 프로그램을 다양한 플랫폼에서 실행할 수 있습니다.
JDK (Java Development Kit)
JDK는 Java 프로그램을 개발할 때 필요한 소프트웨어 개발 키트입니다. JDK에는 Java 프로그램을 컴파일하고 실행하기 위한 도구뿐만 아니라, JRE(Java Runtime Environment)도 포함되어 있습니다. 기본적으로 컴파일러(javac), 인터프리터(java), 아카이버(jar)와 같은 도구가 포함되어 있어, Java 프로그램의 개발, 테스트, 실행을 가능하게 합니다. 또한, JDK에는 Java 프로그램 개발을 돕는 다양한 라이브러리와 API도 포함되어 있습니다.
JRE (Java Runtime Environment)
JRE는 Java 프로그램을 실행하기 위해 필요한 환경을 제공합니다. 이는 JVM(Java Virtual Machine), Java 클래스 라이브러리, 그리고 Java 프로그램을 실행하기 위한 다른 파일들을 포함합니다. 단순히 Java 프로그램을 실행만 할 경우, JRE만 있으면 충분합니다. JRE는 사용자가 Java 애플리케이션을 실행할 수 있도록 하지만, 애플리케이션을 개발하기 위한 도구는 포함하고 있지 않습니다. 개발 도구는 JDK 내에 포함되어 있습니다.
요약
- JVM은 Java 바이트코드를 실행하는 가상 머신으로, Java 프로그램이 다양한 플랫폼에서 실행될 수 있도록 합니다.
- JDK는 Java 프로그램을 개발하기 위한 키트로, 컴파일러와 실행 도구, JRE를 포함합니다.
- JRE는 Java 프로그램을 실행하는 데 필요한 환경을 제공하며, JVM과 Java 클래스 라이브러리를 포함합니다.
읽어주셔서 감사합니다 😊
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 04. 조건문 배우기 (if, if-else, else if, switch) (0) | 2024.03.27 |
---|---|
[Java] 03. 연산자란? (우선순위, 결합규칙) (1) | 2024.03.26 |
[Java] 02. 형변환이란? (암시적 형변환, 명시적 형변환) (0) | 2024.03.26 |
[Java] 01. 변수와 상수 배우기 (0) | 2024.03.26 |
Java 17 개발 환경 셋팅 - JDK 17 & 인텔리제이 설치 (With.MacOS M1) (0) | 2024.03.26 |