728x90
자바는 1990년대에 발표되었고, 어디서나 동작 가능하며, 많이 쓰이는 개발언어이다
✅ 자바의 주요 특징
- 공통 실행환경(JVM)이 있어서 다양한 OS에서도 실행이 가능하다.
- C/C++의 구조를 따르면서도 포인터 같은 복잡한 개념을 제거해서, 접근하기 쉬운 언어다.
- 객체지향적인 구조 덕분에 코드 유지보수와 재사용이 용이하다.
- 안정성이 높아 오류를 방지하고 보안상 안전하다.
- 네트워크 및 DB 연결 등 작업을 처리하는 API를 제공하여 대규모 앱 개발에 유용하다.
- 다양한 개발도구와 라이브러리를 사용 가능하다.
🔍 JVM이란? (Java Virtual Machine)
JVM은 자바 프로그램을 실행해주는 가상 컴퓨터(실제 하드웨어가 아닌, 소프트웨어로 구현된 가상의 환경)다.
- 자바로 작성된 모든 프로그램은 JVM이 있어야 실행할 수 있다.
- 운영체제에 맞게 설계되어 있기 때문에, 자바는 다양한 OS에서 동일하게 동작할 수 있다.
자바는 JVM 위에서 동작하기 때문에 운영체제에 종속되지 않는 플랫폼 독립성을 가질 수 있다.
⚙️ 자바 프로그램의 실행 과정 (JVM 동작 원리)
- 개발자가 java로 코드 작성(자바 클래스 파일(.java) 생성)
- 자바 컴파일러가 개발자가 작성한 소스코드(.java)를 바이트코드(.class)로 변환
- 자바 바이트 코드 : JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드
- 클래스 로더가 바이트 코드(.class)를 불러와서 JVM의 메모리 영역에 저장
- 실행 엔진(Execution Engine)
- 인터프리터 : OS가 읽은 바이트코드를 기계가 실행할 수 있는 기계어로 번역해주는 변환기
- JIT(Just In Time)컴파일러 : 인터프리터와 함께 쓰이며, 자주 사용되는 코드를 한 번에 번역하여 성능을 크게 향상
- Runtime : 코드가 실행 중인 상태. 이 시점에서 메모리 관리(GC), 예외 처리 등 다양한 기능이 함께 작동한다.
🧰 자바 개발에 필요한 도구들
🔹 JDK (Java Development Kit)
자바 개발에 필수인 툴들을 가지고 있는 개발 키트
- javac: 자바 컴파일러
- java: JVM 실행기
- jdb: 디버거
- JRE: 자바 실행 환경 (JVM + 라이브러리)
🔹 IDE (통합 개발 환경)
자바 코드를 더 쉽고 효율적으로 작성하기 위한 도구이다.
코드 자동 완성, 문법 검사, 디버깅, 빌드 관리, 테스트 등 다양한 기능을 지원해 생산성을 크게 높여준다.
- Eclipse
- IntelliJ IDEA
'Java' 카테고리의 다른 글
인터페이스와 추상 클래스의 차이 (0) | 2023.05.25 |
---|---|
인터페이스 (0) | 2023.05.25 |
추상 클래스 (0) | 2023.05.25 |
생성자란? this와 this()의 차이 (0) | 2023.05.24 |
인스턴스 멤버와 클래스 멤버 (0) | 2023.05.24 |