Java의 특징

나영원·2021년 3월 14일
0

모의면접에서 Java의 특징에대해서 물어보셨는데 순간 기억이 안나서 당황한 기념으로 Java의 특징에 대해서 이해가능한 범위내에서 정리해 보았다

이식성이 높은 언어이다

  • 이식성은 서로다른 환경을 가진 시스템 간에 프로그램을 옮겨 실행할수 있는 것

    • Java Application은 소스코드 수정없이 JRE이 설치되어 있는 모든 운영체제에서 실행 가능함
    • 한 번 쓰고 모든 곳에서 실행한다 (Write Once, Run Anywhere => WORA)

참고: JDK, JRE, JVM 차이

  • JDK (Java SE Development Kit)
    • 자바 개발 키트
    • JRE + 컴파일러 + 디버거 등의 개발 도구
  • JRE(Java Runtime Environment)
    • 자바 구동 환경
      • 개발자가 아니라 JavaApplication만 돌리는 사용자라면 JRE만 설치하면 된다
    • JVM + 시스템 라이브러리
      • JVM의 실행환경을 구현했다고 볼수 있음
  • JVM(Java Virtual Machine)
    • 운영체제 독립적으로 동작하기위해 필요함
    • 자바 프로그램의 메모리를 효율적으로 관리 & 최적화 해줌

객체 지향 언어이다

  • 클래스를 통해 객체를 만들어서 프로그래밍 하는 언어이다

  • 객체지향의 기능(특징)을 그대로 가짐

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

  • 객체 생성시 자동으로 메모리영역을 찾아 할당하고 사용이 안료되면 Garbage Collector를 통해 메모리공간을 확보함

    • 개발자의 메모리 관리의 수고를 덜고 코드작성에 집중할수 있게 함

함수형 프로그래밍 지원

  • Java 8부터 람다식을 통해 함수형 프로그래밍을 지원

다양한 애플리케이션 개발

  • 다양한 운영체제에서 동작할 수 있는 콘솔프로그램, 클라이언트용 윈도우 어플리케이션, 서버용 웹 어플리케이션, 모바일용 안드로이드 까지 거의 모든 곳에서 실행되는 프로그램을 개발 할 수 있음

멀티쓰레드를 쉽게 구현 가능

  • 자바는 쓰레드 생성 및 제어와 관련된 라이브러리 API를 제공하고있기 때문에 실행되는 운영체제에 관계없이 멀티 쓰레드를 쉽게 구현 가능함

출처

profile
배우는 개발 일기

0개의 댓글