윤지(●'◡'●) 2021. 3. 18. 21:57
반응형


01 자바의 정의

 

 

 

자바는 썬 마이크로시스템즈(현재는 Oracle에 인수됨)에서 개발하여 1996년 1월에 공식적으로 발표한

객체지향 프로그래밍 언어이다.

 

02 자바의 특징

 

1. 운영체제에 독립적이다.

  • 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서는 많은 노력이 필요하다. 하지만 자바는 일종의 에뮬레이터인 자바가상머신(JVM)을 통해 전달 받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달하기 때문에 모든 운영체에에서 적용이 가능하다. 

 

 

 

2. 객체지향언어이다.

  • 자바는 객체지향 프로그래밍언어 중 하나로 객체지향 개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어라는 평가를 받고 있다.
객체 지향 언어 : OOP(object-oriented programming language)란?
간단히 말하면, 말그대로 객체를 지향하는 언어로, 객체 중심으로 돌아가는 것이다.
여기서 객체란 데이터나 데이터와 관련된 동작을 모두 포함하는 개념을 말한다.

 

 

3. 비교적 배우기 쉽다.

  • 자바의 연산자와 기본구문은 C++에서, 객체지향관련 구문은 스몰톡이라는 객체지향언어에서 가져왔다. 이 언어들의 장점은 취하면서 복잡하고 불필요한 부분은 과감히 제거하여 단순화함으로서 쉽게 배울 수 있다.

 

 

4. 자동 메모리 관리

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

 

 

5. 네트워크와 분산처리를 지원한다.

  • 인터넷과 대규모 분산환경을 염두에 둔 까닭인지 풍부하고 다양한 네트워크 프로그래밍 라이브러리(Java API)를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.

 

 

6. 멀티쓰레드를 지원한다.

  • 일반적으로 멀티쓰레드의 지원은 사용되는 운영체제에 따라 구현방법도 상이하며, 처리방식도 다르다. 그러나 자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당하게 된다.

 

 

7. 동적 로딩을 지원한다.

  • 자바는 동적 로딩을 지원하기 때문에 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다.

 

 

 

출처 : 자바의정석(남궁 성 저자)
반응형