IT_Note

JAVA란

JAVA/이론2017. 4. 11. 05:14


JAVA 란?

자바는 객체지향 프로그래밍 언어이다. 또한 컴퓨터 프로그래밍의 패러다임의 하나이다.

객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 한다.


특징

- 컴퓨터 아키텍처에 관계 없이 모든 자바 가상머신(jvm)에서 실행할 수 있다. 즉, 플랫폼 독립적이다.

자바프로그램은 자바컴파일러를 이용하여 자바 바이트코드로 컴파일되고, 이 자바 바이트 코드는 자바 가상머신에 의해 해석되어 실행된다. 이때 자바 가상머신은 자바 바이트코드에 대한 해석기 인터프리터로 동작되며 컴파일 방식 및 인터프리터 방식이 모두 적용된다. 

-또한 자바에는 가비지컬렉션이 있어 메모리 관리를 가상머신이 자동으로 수행한다.



- 자바 컴파일러란 ?

자바 컴파일러는 자바 프로그램을 중간 언어 형태(intermediate language) 인 자바 바이트 코드로 컴파일한다.

- 자바 바이트 코드란 ?

자바 바이트 코드는 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드이다.

- 자바 가상머신이란?

자바 바이트코드를 실행할 수 있는 주체이다. 자바 바이트 코드로 컴파일 된 자바 프로그램을 실행시키기 위해서 자바 가상머신을 이용한다.

- 자바 인터프리터란?

자바 인터프리터는 자바 바이트코드를 실행시켜주기 위한 기능을 명세하고있는 자바 가상머신을 구현해 놓은 것으로 자바 가상머신과 같은 의미로 사용되어짐.


요약

운영체제에 독립적이다. 한번 만들어진 실행 파일은 자바 가상 머신이 설치된 곳이라면 어느 곳에서든지 바로 실행할 수 있다.

겍체 지향 언어이면서 배우기 쉽고 간결한 문법을 가지고 있다.

포인터(pointer)를 다룰 필요 없이 메모리 관리를 가상 머신이 자동으로 수행한다.

네트워크, 분산 처리, 멀티 쓰레딩을 지원한다.

최근에는 성능도 많이 개선되어 c/c++로 작성된 프로그램에 비해서도 그 실행 속도가 뒤지지 않는다.

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

자바가상머신(jvm)과 메모리 구조  (0) 2017.04.11