Home 자바의 특징
Post
Cancel

자바의 특징

자바란?

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

자바의 역사

1991년 제임스 고슬링아서 밴 호프와 같은 썬의 엔지니어들에 의해서 고안된 오크(Oak)라는 언어에서부터 시작되었다.

원래 목표는 가전제품에 탑재될 소프트웨어를 만드는 것이었으나 인터넷이 등장하자 운영체제에 독립적인 Oak가 적합하다고 판단하여 개발 방향을 바꾸면서 이름을 자바(Java)로 변경했다.

1996년 1월 자바의 정식 버전을 발표했다.

2010년에 썬이 오라클(oracle)사에 인수되면서 이제 자바는 오라클사의 제품이 되었다.

자바언어의 특징

운영체제에 독립적이다.

자바에는 많은 특징이 있지만 가장 큰 특징이라면 한번 작성한 프로그램은 운영체제에 상관없이 어디서든 돌려볼 수 있다는 점이다.

기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서는 많은 노력이 필요하였지만, 자바는 JVM(자바가상머신)에 의해서 실행되기 때문이다.

자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.

‘한번 작성하면, 어디서나 실행된다.(Write once, run anywhere)’고 표현하기도 한다.

객체지향언어이다.

자바는 숫자(int, float, long 등)나 논리값(true, false)을 제외한 거의 모든 것이 객체로 구성되어 있다. 실제로 자바는 Object 클래스에서 모든 클래스를 파생한다.

자동 메모리 관리(Garbage Collection)

자바로 작성된 프로그램이 실행되면, 가비지 컬렉터(GC, Garbage Collector)가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리하지 않아도 되고 프로그래밍에 집중할 수 있도록 도와준다.

C/C++ 등 다른 언어는 사용하지 않는 메모리는 개발자가 해제해야 한다.

멀티쓰레드 지원

자바는 하나의 프로그램에서 여러 개의 쓰레드가 동시에 실행할 수 있는 환경을 지원합니다.  C/C++은 운영체제의 도움을 받아 멀티 쓰레드를 수행하지만, 자바는 운영체제 지원없이 멀티스레드 프로그래밍이 가능하고 관련된 라이브러리(Java API)가 제공되므로 구현이 쉽다.

동적 로딩

자바는 애플리케이션 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.

일부 클래스가 변경되어도 전체를 컴파일하지 않아도 되며, 애플리케이션의 변경사항이 발생해도 비교적 적은 작업으로 처리할 수 있는 유연성 애플리케이션을 작성할 수 있다.

JVM(Java Virtual Machine)

JVM은 자바 프로그램이 실행되는 가상 컴퓨터(VM)이다.

자바로 작성된 애플리케이션은 모두 이 가상 컴퓨터(JVM)에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다.

Java 애플리케이션은 JVM하고만 상호작용을 하기 때문에 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경없이 실행이 가능하다. 일반적으로 많이 사용되는 주요 OS용 JVM을 제공하고 있고, 이렇게 함으로써 자바의 중요한 장점 중의 하나인 “Write once, run anywhere(한번 작성하면, 어디서나 실행된다.)” 이 가능하게 되는 것이다.

출처

자바의정석

https://life-with-coding.tistory.com/430