JAVA/이론

Java 특징

devNam 2021. 11. 30. 22:47
반응형

 

 

Java 란?

- 고급 언어에 속하는 프로그래밍 언어, 썬 마이크로시스템즈에서 발표되었다

 

Java 언어 특징


이식성이 높은 언어다.

  • 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있다
  • JRE가 설치되어 있는 모든 운영체제에서 소스파일 수정 없이 실행 가능하다

 

객체 지향 언어이다.

  • 객체를 만들기 위해 클래스를 작성하고, 객체들을 조립 및 연결해 프로그램을 완성하는 객체 지향 프로그래밍 기법에 사용된다.
  • 객체 지향 언어가 지원하는 캡슐화, 상속, 다형성 기능을 가진다.

 

함수적 스타일 코딩을 지원한다.

  • 함수적 프로그래밍은 대용량 데이터 병렬 처리, 이벤트 지향 프로그래밍에 적합하다.
  • 자바에서는 함수적 프로그래밍을 위해 람다(Lamda)식을 자바 8부터 지원하고 있다.

 

메모리를 자동으로 관리한다.

  • 메모리를 자바가 직접 관리해 객체 생성 시 자동으로 메모리 영역을 할당하고,
    사용 완료 시 Garbage Collector를 실행 시켜 사용하지 않는 객체를 직접 제거한다.

 

다양한 애플리케이션을 개발할 수 있다.

  • 윈도우, 리눅스, 유닉스, 맥 등 다양한 운영체제에서 실행되는 프로그램을 개발할 수 있다.
  • 콘솔 프로그램, 클라이언트용 윈도우 애플리케이션, 서버용 웹 애플리케이션, 안드로이드 앱
  • 자바는 개발 도구와 API를 묶어 에디션 형태로 정의 하고 있다. 
    -> Java SE(Standard Edition), Java EE(Enterprise Edition)
  • 자바 실행을 위해서 Java SE(Standard Edition) 구현체인 JDK를 설치해야한다.

 

멀티 스레드를 쉽게 구현 할 수 있다.

  • 스레드 생성 및 제어 관련된 라이브러리 API를 제공하고 있기에 운영체제에 상관 없이 멀티 스레드 쉽게 구현 가능

 

동적 로딩을 지원한다.

  • 애플리케이션 실행 시 모든 객체가 생성되지 않고, 객체가 필요한 시점에 클래스를 동적 로딩해서 객체를 생성한다.

 

막강한 오픈소스 라이브러리가 풍부하다.

  • 오픈 소스 언어이기 때문에 라이브러리 또한 오픈 소스로 넘쳐난다.
반응형

'JAVA > 이론' 카테고리의 다른 글

자바 가상 머신(JVM: Java Virtual Machine)? + JDK, JRE  (0) 2021.12.02