해결된 질문
작성
·
978
·
수정됨
1
선장님 안녕하세요!
자바 언어가 플랫폼에 독립적이다
에 대해 제가 옳게 이해했는지 궁금해서 질문드립니다!
강의 자료의 JDK부분에, 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적
이라는 설명이 있습니다.
이것에 대해 저는
JVM
은 바이트 코드를 OS에 맞게 기계어로 변환해야하므로 플랫폼에 종속적이고(JRE, JDK역시 JVM을 포함하므로 플랫폼에 종속적),
Java 언어
는 소스코드를 작성해서 바이트 코드로 변환하는 컴파일하는 과정 자체는 어떤 플랫폼에서도 동일하므로 플랫폼에 독립적이다.(바이트 코드는 어떤 플랫폼이든 동일하기 때문에)
라고 이해했습니다. 혹시 제가 이해한 것이 맞을까요?
항상 좋은 강의 제공해주셔서 감사합니닷!
답변 1
5
음..... 맞는것 같긴한데 조금.. ㅋㅋㅋ
아주 옛날에 C언어를 잠깐 해봤는데 그거는 윈도나 리눅스나 옮겨갈 때마다 컴파일을 다시 했어야 했거든요. (지금은 어떤지 모르겠지만...) 심지어는 코드도 바꿨어야 했던걸로 기억나는데 역시 정확하진 않습니다. 너무 오래전이라..
근데 자바는 일단 어디선가 한번 컴파일 했으면, OS를 옮겨가도 다시 컴파일 할 필요는 없어요. 정확히는 "컴파일 하는 과정 자체가 동일"하다기 보다는.. 컴파일 한 그 결과물(바이트코드와 자바 코드가)이 동일하게 유지된단 말입니다. 즉 다시 코드를 짜거나 컴파일 할 필요 없다. 그냥 그대로 OS가 바껴도 쓸 수 있다.