인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

Wonhyeok Jang님의 프로필 이미지

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

자바란?

javac에 대해서 궁금한 점이 있습니다

작성

·

23

0

안녕하세요 강의를 보고 javac에 대해서 궁금한 점이 있어서 질문 드립니다.

.class로 컴파일 된 파일을 각각 os에 맞는 자바가 각자의 os에 맞게 바꿔서 실행을 한다고 하셨는데

javac도 java이지 않나요?. 정확한지 모르겠지만 linux에서 컴파일한 .class와 window에서 컴파일한 .class의 값이 다르다면

window에서 컴파일한 .class 파일이 linux에서 실행이 되는 건가요? 모든 os에서 실행이 되려면 .class 파일의 내용은 같아야 될 것 같은데

궁금합니다.

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.
Wonhyeok Jang님께서 질문하신 내용은 자바의 플랫폼 독립성과 관련된 부분으로 많은 분들이 궁금해하시는 주제입니다.

기본적으로, 자바는 “한 번 작성하면, 어디서나 실행된다(Write Once, Run Anywhere)“라는 슬로건으로 유명합니다. 이는 자바 소스 코드가 javac에 의해 컴파일되면 바이트코드(.class 파일)가 생성되고, 이 바이트코드는 자바 가상 머신(JVM)이 설치된 모든 운영 체제에서 실행될 수 있다는 의미입니다.

javac는 자바 컴파일러로, 각 운영 체제에서 실행되는 JVM은 운영 체제에 특화되어 있지만, 생성되는 바이트코드는 동일하게 유지됩니다. 따라서, Linux에서 컴파일된 .class 파일과 Windows에서 컴파일된 .class 파일은 기본적으로 동일한 바이트코드를 가지며, 운영 체제에 관계없이 동일하게 실행됩니다.

이와 관련된 더 자세한 설명은 이종간 OS 클래스 문의에 대해 김영한 강사님께서 설명해주신 내용을 참고하시면 더욱 이해하기 쉬울 것입니다.

추가적인 정보나 궁금한 점이 있으시면, 언제든지 질문해 주세요. 곧 지식공유자님께서 더욱 자세한 답변을 드릴 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.