티스토리 뷰

자바는 자바가상머신이라는 것을 사용한다.

자바는 작성된 프로그램을 한번 컴파일 한뒤 인터프리터 방식으로 실행하게끔 설계되어있다.


자바 프로그램의 실행 순서는 다음과 같다.

자바로 작성된 프로그램 -> 바이트 코드 -> 인터프리터 방식으로 바이트 코드를 한줄한줄 해석하면서 실행


즉 자바 프로그램은 한번 컴파일 할때 자바 가상 머신이 해석할 수 있는 형태인 바이트 코드로 변형이 되고

그 바이트 코드를 자바 가상머신이 한줄한줄 해석하면서(인터프리터방식) 실행시키는 방식으로 진행이 된다.

그렇기 때문에 자바 가상 머신만 있다면

운영체제나 cpu에 종속적이지 않고 자바로 된 프로그램을 한번 작성하면 어떤 플랫폼에서든지 그 프로그램을 실행 시킬수 있다는 장점이 있다.

(c나 c++같은 경우 cpu나 운영체제가 달라지면 같은 프로그램도 안돌아 가는 경우가 발생할 수 있음)


자바 소스 프로그램을 바이트 코드로 만들고 그 바이트 코드는 클래스(.class) 파일에 저장된다.

이 클래스파일을 자바 가상 머신에게 전달하면 이 머신이 알아서 현재 실행 되고 있는 컴퓨터의

운영체제/cpu에 맞게 동작하게끔 도와준다.


자바와 c/c++비교


자바프로그램을 컴파일하면 바이트코드로 구성된 .class파일이 생성되는 반면에 c/c++파일을 컴파일하게 되면 바로 실행 가능한 실행 파일이 생성 된다. 

class파일은 한번 컴파일하면 어떤 컴퓨터에서든지 동작하지만 c/c++파일을 컴파일한 실행 파일은 운영체제나 cpu에 종속적이므로 이 컴퓨터에서 컴파일한 c/c++코드는 다른 컴퓨터에서 실행이 불가할 수 있고 다시 컴파일을 해야한다.

애초에 c/c++파일을 컴파일할때 운영체제/cpu에 맞게끔 컴파일이 되기 때문이다.








'컴퓨터 공학과 졸업 > 객체지향' 카테고리의 다른 글

객체 지향의 4대 특징  (1) 2018.07.27
클래스와 객체의 관계  (1) 2018.07.27
다형성이란  (0) 2018.01.22
추상 클래스와 인터페이스  (0) 2018.01.22
c++ 업캐스팅과 다운캐스팅  (2) 2018.01.16
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함