인프런 커뮤니티 질문&답변

emkemkemk님의 프로필 이미지
emkemkemk

작성한 질문수

더 자바, 코드를 조작하는 다양한 방법

자바, JVM, JDK 그리고 JRE

"자바 언어가 플랫폼에 독립적이다" 라는 것에 대해 옳게 이해했는지 궁금합니다!

해결된 질문

작성

·

978

·

수정됨

1

선장님 안녕하세요!

자바 언어가 플랫폼에 독립적이다에 대해 제가 옳게 이해했는지 궁금해서 질문드립니다!

강의 자료의 JDK부분에, 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적이라는 설명이 있습니다.

이것에 대해 저는

  • JVM 바이트 코드를 OS에 맞게 기계어로 변환해야하므로 플랫폼에 종속적이고(JRE, JDK역시 JVM을 포함하므로 플랫폼에 종속적),

  • Java 언어소스코드를 작성해서 바이트 코드로 변환하는 컴파일하는 과정 자체는 어떤 플랫폼에서도 동일하므로 플랫폼에 독립적이다.(바이트 코드는 어떤 플랫폼이든 동일하기 때문에)

라고 이해했습니다. 혹시 제가 이해한 것이 맞을까요?

항상 좋은 강의 제공해주셔서 감사합니닷!

답변 1

5

백기선님의 프로필 이미지
백기선
지식공유자

음..... 맞는것 같긴한데 조금.. ㅋㅋㅋ

아주 옛날에 C언어를 잠깐 해봤는데 그거는 윈도나 리눅스나 옮겨갈 때마다 컴파일을 다시 했어야 했거든요. (지금은 어떤지 모르겠지만...) 심지어는 코드도 바꿨어야 했던걸로 기억나는데 역시 정확하진 않습니다. 너무 오래전이라..

근데 자바는 일단 어디선가 한번 컴파일 했으면, OS를 옮겨가도 다시 컴파일 할 필요는 없어요. 정확히는 "컴파일 하는 과정 자체가 동일"하다기 보다는.. 컴파일 한 그 결과물(바이트코드와 자바 코드가)이 동일하게 유지된단 말입니다. 즉 다시 코드를 짜거나 컴파일 할 필요 없다. 그냥 그대로 OS가 바껴도 쓸 수 있다.

emkemkemk님의 프로필 이미지
emkemkemk

작성한 질문수

질문하기