자바의 특징
1. 운영체제에 독립적
자바로 작성된 프로그램은 운영체제와 하드웨어에 관계없이 실행 가능
- 자바 가상 머신(JVM)을 통해 자바 응용프로그램과 통신하고 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달
- 여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM 제공
- Write Once, Run Anywhere : 한 번 작성하면, 어디에서나 실행된다
2. 객체지향언어
자바는 객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어
객체 지향 프로그래밍
- 프로그램의 구현을 시간의 흐름순이 아닌 객체간의 관계와 협력을 기반으로 프로그램 하는 것
- Object oriented programming(OOP)라고 함
- cf. 절차 지향 프로그래밍 procedural programming
- 사용 하는 언어 : Java, C++, C#, Python, JavaScript, Ruby 등 다수
3. 비교적 배우기 쉽다
장점은 취하면서 복잡하고 불필요한 부분은 과감히 제거하여 단순화
- C++
- 자바의 연산자와 기본구문
- 스몰톡(small talk)
- 객체지향관련 구문
4. 자동 메모리 관리(Garbage Collection)
가비지 컬렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리하지 않아도 된다
다소 비효율적으로 볼 수 있으나 프로그래머가 보다 프로그래밍에 집중할 수 있도록 도와주는 것
5. 네트워크와 분산처리 지원
풍부하고 다양한 네트워크 프로그래밍 라이브러리(Java API)
- 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원
6. 멀티쓰레드 지원
- 시스템과는 관계없이 구현 가능
- 관련된 라이브러리(Java API)가 제공되므로 구현이 쉬움
- 여러 쓰레드에 대한 스케줄링을 자바 인터프리터에서 담당
7. 동적 로딩(Dynamic Loading)을 지원
자바는 동적 로딩을 지원
- 실행 시 모든 클래스가 로딩되지 않음
- 필요한 시점에 클래스를 로딩하여 사용(장점)
유연한 애플리케이션 작성
- 일부 클래스 변경 시 전체 애플리케이션을 다시 컴파일하지 않아도 됨
- 애플리케이션의 변경사항 발생 시 비교적 적은 작업으로 처리 가능
'Java의 정석 📖 > Chapter 1. 자바를 시작하기 전에' 카테고리의 다른 글
JVM, JDK (0) | 2023.01.25 |
---|---|
자바(Java)란? (0) | 2023.01.19 |