1. 이식성이 높다
이식성
이란 서로 다른 환경의 시스템에서 동일하게 프로그램이 실행이 되는 것- Java언어로 개발된 프로그램들은 JRE(Java Runtime Environment)라는 자바 실행 환경이 설치되어 있는 경우 모든 운영체제에서 실행 가능하다
2. 객체 재향 언어
- 객체 지향 언어가 가져야할 캡슐화, 상속, 다형성 기능을 완벽하게 지원
3. 함수적 스타일 코딩을 지원
- 함수적 프로그래밍은 대용량 데이터의 병렬 처리 그리고 이벤트 지향 프로그래밍을 위해 적합하다
- 자바는 함수적 프로그래밍 지원을 위해
람다식(Lambda Expressions)
을 Java8부터 지원한다 - 람다식을 사용하면 컬렉션의 요소를 필터링, 매핑, 집계 처리하는데 쉬워지고, 코드가 매우 간결해진다
4. 메모리를 자동으로 관리한다
- 객체 생성 시 자동적으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면 GC(Garbage Collector)를 실행시켜 자동적으로 사용하지 않는 객체를 메모리에서 해제 시켜준다
- 이 내용을 공부하면서 GC가 알아서 메모리를 해제 해주는데 자바 코드에서 close() 메서드를 명시해주는 이유가 무엇일지 궁금증이 생겼다
- 이 궁금증에 대한 내용은 Java에 GC가 있지만 close() 메서드를 사용하는 이유에 정리해 두었다
5. 다양한 애플리케이션을 개발할 수 있다
- 다양한 운영체제에서 사용할 수 있는 개발 도구와 API를 묶어 Edithion형태로 정의
- Java SE(Standard Edition) - 기본 에디션
- Java EE(Enterprise Edition) - 서버용 애플리케이션 개발 에디션 : 서버를 애플리케이션을 개발하기 위한 도구 및 라이브러리 API
6. 멀티 쓰레드를 쉽게 구현할 수 있다
7. Dynamic 로딩을 지원
- 객체가 필요한 시점에 클래스를 동적으로 로딩해서 객체를 생성한다
- 개발 완료후 유지보수가 발생하더라도 해당 클래스만 수정하면 되므로 전체 애플리케이션을 다시 컴파일 할 필요가 있다
8. 오픈소스 라이브러리가 풍부하다
Reference
이것이 자바다 - 신용권 지음
'Java' 카테고리의 다른 글
Java에서 String이 메모리에 생성되는 과정의 이해 (0) | 2022.01.06 |
---|---|
Java 참조 타입 (0) | 2022.01.06 |
Java 조건문과 반복문 (0) | 2022.01.05 |
Java의 변수, 타입, 연산자 (0) | 2022.01.05 |
Java에 GC가 있지만 close() 메서드를 사용하는 이유 (0) | 2022.01.03 |