장점
1. 플랫폼 독립성
- 하드웨어 또는 운영체제와 같은 플랫폼에 독립적으로 실행가능하다.
자바는 Java Virtual Machine(JVM)을 기반으로 동작하기 때문에 자바로 만든 프로그램은 어떤 환경에서도 완벽히 똑같이 동작한다.
2. 오픈소스
- 이용자들에 의해 기존 문제가 해결되고 발전하며 운영되기 때문에 발전 속도가 빠르고 정보를 얻기 쉽다.
오픈소스 라이브러리가 풍부해 짧은 시간 내 안정적인 애플리케이션 구현이 가능하다.
3. 객체지향언어
- 신뢰성 있는 소프트웨어를 손쉽게 작성 가능하다.
코드 재사용이 유리하다. 유지보수용이하다.
객체지향 패러다임의 특성상 비교적 이해하고 배우기 쉽다.
4. 자동메모리관리
- Garbage Collector는 객체가 프로그램에서 더 이상 사용되지 않고 명시적 프로그래밍에 의해 역참조되거나
제거할 필요가 없는 항목을 참조하지 않을 때마다 자동으로 제거해준다.
이로인해 사용자는 메모리 관리를 신경쓰지 않고 비즈니스 로직에 집중할 수 있다.
단점
1. JVM
- JVM을 거쳐서 실행되기 때문에 다른 언어에 비해 실행 속도가 느리다.
처리 속도가 중요한 애플리케이션에서 적합하지 않다.
JVM을 사용하기 때문에 직접 하드웨어를 정밀하게 조정해야하는 프로그램 개발에는 적합하지 않다.
JVM에서 실행되기 때문에 더 많은 메모리를 소비한다.
2. 코드
- 다른 언어에 비해 길고 장황해 가독성이 떨어질 수 있다.
3. 메모리 소비
- 자동 메모리 관리 시스템은 편리하지만 추가 메모리 할당 및 가비지 수집작업이 필요합니다.
이는 더 높은 메모리 소비로 이어질 수 있습니다.
'##JAVA' 카테고리의 다른 글
| 객체지향프로그램의 4요소 : 다형성 (0) | 2024.07.08 |
|---|---|
| 클래스와 다이어그램 (0) | 2024.07.08 |
| 객체와 클래스 (0) | 2024.07.08 |
| 참조변수와 일반변수 (0) | 2024.06.24 |
| 자바의 특성 (0) | 2024.06.17 |