(1) 자바의 특징: OOP(객체지향 언어), JVM(자바 가상 머신)

(1) 자바의 특징: OOP(객체지향 언어), JVM(자바 가상 머신)

자바의 특징

① OOP(Object-Oriented Programming) 객치지향 언어

프로그램을 구성하는 요소 를 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍하는 것을 의미한다.

* 유기적 : 생물체처럼 전체를 구성하고 있는 각 부분이 서로 밀접하게 관련을 가지고 있어서 떼어 낼 수 없는 것.

객체지향 언어를 사용하면 코드의 재사용성이 높고 코드의 관리가 용이하며 신뢰성이 높은 프로그램 구현이 가능하다는 장점이 있다.

② JVM(Java Virtual Machine) 자바 가상 머신

"Write Once, run anywhere". 자바로 작성된 프로그램은 JVM 위에서 동작하기 때문에 운영체제와 하드웨어에 관계 없이 실행 가능하다.

자바 응용프로그램은 운영체제나 하드웨어가 아닌 일종의 에뮬레이터인 자바가상머신(JVM) 하고만 통신하고 JVM이 자바 응용프로그램으

로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.⑴

자바 어플리케이션 JVM OS(Windows) 컴퓨터(하드웨어)

JVM 을 한 번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가

느리다는 단점을 가지고 있다. 그러나 바이트코드(byte code)를 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 Hotspot 과

같은 신기술의 도입으로 JVM의 기능이 향상됨으로써 속도문제가 상당히 개선되었다.⑵

* 바이트코드(byte code) : .class 처럼 JVM 같은 가상머신이 이해할 수 있는 코드를 의미한다.

이 외에도 자동 메모리 관리(Garbage Collection), 네트워크와 분산처리 지원, 멀티쓰레드 지원 등의 특징들 또한 있다.

개인적으로 위 두개가 가장 큰 특징이라 생각해서 적어보았다 :)

- ⑴,⑵ : 출처 자바의 정석

from http://faithhopeandlove.tistory.com/7 by ccl(A) rewrite - 2021-10-26 22:01:38