JAVA
2011. 5. 25. 00:29
자바는 JDK라는 자바 컴파일용 소프트웨어를 설치 한 후 컴파일이 된다.
먼저 컴파일(compile)에 대하여 알아보면
컴퓨터는 모든 명령을 기계어(machine language)로 수행하는데
이 기계어는 01011101001001 이런식으로 0과 1로 구성되서 사람이 보기 매우 힘들다,
그에 반면 컴퓨터가 보기에는 사람의 언어가 모호하고 부정확해서 수행을 할 수가 없다, 그렇기 때문에
사람도 보기 편하고, 정확한 문법과 규칙으로 되어 컴퓨터도 보기편한 프로그래밍언어(programing
language) 라는 것을 사용하여 프로그래밍을 하는데 이 소스를 기계어로 번역하는 것이 컴파일,
컴파일 해주는 소프트웨어가 컴파일러(compiler) 이다. 언어마다 컴파일러가 다르지만 자바에서의
컴파일러가 JDK이다. 그러므로 자바프로그래밍을 하려면 JDK는 필수이다.
자바는 컴파일을 할 때 java.exe를 실행 한다. 이유는 아래에 있다.
C나 다른 언어들은 컴파일러가 만든 실행파일을 바로 실행 할 수 있다.
이는 아예 컴파일러가 하드웨어와 운영체제에 꼭 맞는 기계어 코드파일을 만들기 때문이다.
하지만 자바컴파일러는 자바 가상기계(Java Virture Machine, JVM) 에 맞는
가상 기계어로 만들고 그 파일이 .class로 떨어지는 클래스 파일이다.
자바 가상기계는 가상기계어(class파일)를 진짜 기계어(0101)로
만들 수 있는 능력이 있는데 이 자바가상기계를 실행 하는 일을 java.exe가 하기 때문이다.
여기서 왜 자바는 바로 다른 언어처럼 기계어로 번역해서 수행하지 않냐는 의문이 드는데
이는 콘센트의 플러그를 생각하면 된다. 110v와 220v라는 다른 환경의 운영체제와 하드웨어가 있다 치자,
다른언어는 컴파일러가 110v면 110v, 220v면 220v 로 만든다, 그러기에 220v로 만들어진 결과물을 110v에선
사용 할 수 없는 상황이 온다, 하지만 자바는 자바가상기계가 전압을 교체 시켜주는 플러그 역할을 한다.
그러기에 110v로 소스를 만들던 220v로 소스를 만들던 자바 가상 기계가 중간에서 다리역할을 하여
어떤 운영체제, 하드웨어에서든 JDK만 깔아주면 그 안에 있는 자바가상기계가 클래스파일을
번역하여 그대로 실행 할 수 있다는 장점이 있다.
페이지로 보면 한 장이지만 엄청난 정보가 들어있었다..
출판사 : 한빛미디어 , 저자 : 김윤명 님의 뇌를 자극하는 Java프로그래밍에서 공부한 내용입니다.
먼저 컴파일(compile)에 대하여 알아보면
컴퓨터는 모든 명령을 기계어(machine language)로 수행하는데
이 기계어는 01011101001001 이런식으로 0과 1로 구성되서 사람이 보기 매우 힘들다,
그에 반면 컴퓨터가 보기에는 사람의 언어가 모호하고 부정확해서 수행을 할 수가 없다, 그렇기 때문에
사람도 보기 편하고, 정확한 문법과 규칙으로 되어 컴퓨터도 보기편한 프로그래밍언어(programing
language) 라는 것을 사용하여 프로그래밍을 하는데 이 소스를 기계어로 번역하는 것이 컴파일,
컴파일 해주는 소프트웨어가 컴파일러(compiler) 이다. 언어마다 컴파일러가 다르지만 자바에서의
컴파일러가 JDK이다. 그러므로 자바프로그래밍을 하려면 JDK는 필수이다.
자바는 컴파일을 할 때 java.exe를 실행 한다. 이유는 아래에 있다.
C나 다른 언어들은 컴파일러가 만든 실행파일을 바로 실행 할 수 있다.
이는 아예 컴파일러가 하드웨어와 운영체제에 꼭 맞는 기계어 코드파일을 만들기 때문이다.
하지만 자바컴파일러는 자바 가상기계(Java Virture Machine, JVM) 에 맞는
가상 기계어로 만들고 그 파일이 .class로 떨어지는 클래스 파일이다.
자바 가상기계는 가상기계어(class파일)를 진짜 기계어(0101)로
만들 수 있는 능력이 있는데 이 자바가상기계를 실행 하는 일을 java.exe가 하기 때문이다.
여기서 왜 자바는 바로 다른 언어처럼 기계어로 번역해서 수행하지 않냐는 의문이 드는데
이는 콘센트의 플러그를 생각하면 된다. 110v와 220v라는 다른 환경의 운영체제와 하드웨어가 있다 치자,
다른언어는 컴파일러가 110v면 110v, 220v면 220v 로 만든다, 그러기에 220v로 만들어진 결과물을 110v에선
사용 할 수 없는 상황이 온다, 하지만 자바는 자바가상기계가 전압을 교체 시켜주는 플러그 역할을 한다.
그러기에 110v로 소스를 만들던 220v로 소스를 만들던 자바 가상 기계가 중간에서 다리역할을 하여
어떤 운영체제, 하드웨어에서든 JDK만 깔아주면 그 안에 있는 자바가상기계가 클래스파일을
번역하여 그대로 실행 할 수 있다는 장점이 있다.
페이지로 보면 한 장이지만 엄청난 정보가 들어있었다..
출판사 : 한빛미디어 , 저자 : 김윤명 님의 뇌를 자극하는 Java프로그래밍에서 공부한 내용입니다.
'JAVA' 카테고리의 다른 글
JAVA] 6. 로컬 변수의 선언과 이용 (0) | 2011.05.25 |
---|---|
JAVA] 5. 간단한 조건문과 반복문 (0) | 2011.05.25 |
JAVA] 4. 변수의 선언문과 대입문 (0) | 2011.05.25 |
JAVA] 3. 자바 프로그램에서 사용하는 단어의 종류와 여러가지 기호 (0) | 2011.05.25 |
JAVA] 1. Hello World 띄우기 (0) | 2011.05.24 |