Language/Java

[Java] 자바란? 자바언어의 특징

Ella_K 2022. 11. 13. 21:26

자바란?

썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어

  • 운영체제에 독립적이다. 운영체제에 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다.
    • 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어
  • 객체지향개념의 기존 언어 C++의 장점을 채택하는 동시에 잘 사용되지 않는 부분은 제외시킴으로써 C++보다 배우기 쉽다.
  • 풍부한 클래스 라이브러리를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공한다.

 

자바 언어의 특징

📌 운영체제에 독립적

  • 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환해서 전달한다.
  • 자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운영체제에 종속적
  • 자바로 작성된 프로그램은 운영체제나 하드웨어에 관계없이 실행 가능하며 '한번 작성하면, 어디서나 실행된다.'

📌 객체지향언어

  • 객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어

📌 비교적 배우기 쉽다

  • 간결하면서도 명료한 객체지향적 설계로 사용사들이 객체지향개념을 보다 쉽게 이해하고 활용할 수 있도록 하여 객체지향 프로그래밍의 저변확대에 크게 기여했다.

📌 자동 메모리 관리(Garbage Collection)

  • 자바로 작성된 프로그램이 실행되면, 가비지컬렉터(garbage collector)가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리 하지 않아도 된다.

📌 네트워크와 분산처리를 지원

  • 다양한 네트워크 프로그래밍 라이브러리(JAVA API)를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원

📌 멀티쓰레드를 지원

  • 자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 관련된 라이브러리가 제공된다.
  • 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당한다.

📌 동적로딩을 지원

  • 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다.
  • 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 되며, 애플리케이션의 변경사항이 발생해도 비교적 적은 작업만으로도 처리할 수 있는 유연한 애플리케이션을 작성할 수 있다.

Source

자바의 정석

http://www.yes24.com/Product/Goods/24259565

 

Java의 정석 - YES24

최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아

www.yes24.com