본문 바로가기

Java

Java 특징

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

이것이 자바다 - 신용권 지음