Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java) 컴파일러 완벽 가이드: 작동 원리부터 초보자용 온라인 IDE까지

5~10년 전만 해도 자바를 배우는 일은 지금처럼 쉽지 않았습니다. 당시에는 컴파일러와 인터프리터가 포함된 JDK(Java Development Kit)를 직접 내려받아 자신의 컴퓨터에 설치해야 했죠. 하지만 요즘은 무료로 사용할 수 있는 온라인 자바 컴파일러가 매우 다양합니다. 이 글에서는 자바 언어가 어떻게 컴파일되는지 그 원리를 단계별로 살펴보고, 연습과 실제 프로젝트 제작에 활용할 수 있는 온라인 도구들을 소개합니다.

자바 프로그램은 어떻게 실행될까?

자바는 완전한 컴파일 방식의 프로그래밍 언어도 아니고, 동시에 완전한 인터프리터 방식의 언어도 아닙니다. 두 방식의 중간에 있는 독특한 구조를 가지고 있습니다.

여기서 '컴파일된다'는 것은 특정 플랫폼에 종속되지 않는 더 낮은 수준의 언어로 번역된다는 의미입니다. 이 특성이야말로 자바가 "한 번 작성하면 어디서든 실행된다(Write Once, Run Anywhere)"는 강점을 가질 수 있는 핵심 요소입니다.

우리가 작성하는 소스 코드는 *.java 확장자를 가진 파일입니다. 프로그램을 컴파일하고 실행하면 이 파일은 먼저 컴파일러를 거쳐 바이트코드(bytecode)로 번역되어 *.class 파일이 됩니다. 하지만 바이트코드는 최종 결과물이 아니라, 다음 단계로 넘어가기 위한 중간 산물에 가깝습니다.

바로 여기서 인터프리터가 등장합니다. 마지막으로 JVM(Java Virtual Machine, 자바 가상 머신)이 전달받은 바이트코드를 해석하여 사용자의 운영체제와 하드웨어가 읽을 수 있는 형태로 변환합니다. 이 순간부터 프로그램은 실행 환경, 즉 플랫폼에 종속되어 동작하게 됩니다.

초보자에게 적합한 자바 IDE 추천

다음은 자바 프로젝트를 만들 수 있는 대표적인 온라인 개발 환경과 샌드박스 목록입니다. 모든 도구를 망라한 것은 아니지만, 자바 학습을 시작하기에 충분한 선택지가 될 것입니다.

Repl.it

Repl.it은 사용자 친화적인 IDE로, 자바뿐 아니라 다양한 프로그래밍 언어를 지원합니다. 파일을 생성하고 '실행(Run)' 버튼만 누르면 컴파일과 인터프리팅이 자동으로 처리됩니다. 새 자바 repl을 만들면 샘플 프로그램이 함께 표시되어 처음 시작하는 사람도 부담 없이 코드를 수정해 보며 학습할 수 있습니다.

JDoodle

JDoodle은 프로그램을 빠르게 컴파일하고 실행하기 좋은 IDE입니다. 여러 언어를 지원할 뿐 아니라, 자신의 애플리케이션에서 프로그램을 실행할 수 있도록 API도 제공합니다. 초기 온라인 컴파일러는 한 번에 하나의 파일만 다룰 수 있었지만, 현재는 여러 파일을 함께 관리할 수 있는 고급 컴파일러(Advanced Compiler)도 제공됩니다.

Codiva

Codiva 역시 Repl.it과 JDoodle처럼 여러 폴더와 파일을 자유롭게 사용할 수 있습니다. 매우 미니멀한 레이아웃 덕분에 사용법이 간단하며, 마치 자신의 로컬 IDE에서 코딩하는 것과 유사한 개발 경험을 제공한다는 점이 특징입니다.

Ideone

Ideone.com의 흥미로운 점은 Hackerrank, Leetcode, Visual Studio Code와 비슷한 분위기의 코딩 환경을 제공한다는 것입니다. 짧은 코드 조각(snippet)이 의도대로 작동하는지 빠르게 테스트하기에 적합한 IDE입니다. 다만 아직까지는 규모 있는 멀티 파일·멀티 폴더 프로젝트를 진행하기에는 다소 부족한 면이 있습니다.

지금까지 자바가 컴파일되고 실행되는 과정과, 브라우저에서 바로 자바 코드를 작성하고 실행해 볼 수 있는 온라인 도구들을 살펴보았습니다. 설치 없이 무료로 시작할 수 있다는 점을 활용해, 오늘 바로 자바 또는 안드로이드 개발자가 되기 위한 첫걸음을 내디뎌 보세요!