Java 시작, 특징
1. 프로그램을 실행하기 위해서는 CPU, OS, SW가 필요합니다.
- SW - |
-- OS -- |
--- CPU --- |
CPU ?
: Central Processing Unit, 중앙 처리 장치
: 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치
OS ?
: Operating System, 운영체제
: 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 서비스를 지원하는 시스템
: 예) Windows, MAC OS, Linux ...
SW ?
: Software, 소프트웨어
: 하드웨어를 운용하여 작업을 수행하는 절차와 규칙 등을 기술한 명령어 집합
2. 자바 언어 특징
a. 객체지향언어
b. 플랫폼 독립적 ⭐️
c. Network에 강합니다.
(C언어와 비교 → Java는 라이브러리가 포함되어있지 않아서 실행파일 크기가 작기 때문입니다.)
d. 독립적 성능향상 (자동으로 메모리 관리를 해줍니다.)
3. 플랫폼
플랫폼 ?
: 소프트웨어가 실행되어질 수 있는 기반 환경
플랫폼 독립적 ?
: Java는 플랫폼 독립적입니다. 어떤 CPU, OS이던 어디서든 다 실행가능 하기 때문입니다.
플랫폼 독립적 장점 ?
: 따라서 어디서든 열 수 있다는 것이 JAVA의 장점입니다.
플랫폼 종속적 ?
: C언어는 플랫폼 종속적입니다. 아래에서 C언어와 Java를 비교하여 이어가겠습니다.
4. C언어 vs Java
C언어
*.c → compiler → .obj → Linker(Linking 작업) → .exe
.c 파일을 compiler가 .obj 파일로 만들어주고, Linker가 Linking 작업을 해서 .exe 파일로 만들어냅니다.
Linker에는 라이브러리 ‘C’가 포함되어 있고, C 라이브러리는 특정 운영체제용 라이브러리입니다.
→ 플랫폼 종속적
Java
*.java → javac.exe(compile) → .class(실행파일, JVM에서 실행가능) → JVM(java.exe 있음)
JVM에는 Java 라이브러리가 포함되어있어서 Linking이 필요없습니다. JVM 자체적으로 실행가능합니다.
→ 플랫폼 독립적
JRE(Java Runtime Environment)에 JVM을 둡니다. (사용자도 개발자도 JVM이 필요합니다.)
하지만 JVM(= SW)은 플랫폼 종속적입이다. 각 운영체제(환경)에 맞는 JVM이 필요하기 때문입니다.