본문 바로가기

생활코딩/JAVA1

생활코딩) JAVA1 - 4.2. 실행 - Java의 동작원리

youtu.be/9V0rdrm59X4

저희 전 시간에 우리가 자바 애플리케이션을 만드는 방법을 경험적으로 살펴 봤다면 이제 우리가 그것을 이론적으로 한번 정리를 좀
해보면 좋을 것 같습니다

 


여러분이 이렇게 생긴 텍스트를 작성했는데 저 텍스트의 구체적인 문법은 모르지만 저기에는 이제 우리의 희망이 담겨져 있어요 우리의 희망은 뭐예요. 컴퓨터 화면에 헬로 월드 를 출력하고 싶다 라는 것이 꼬리는 것을 해냈습니다. 자 이 맥락에서 이 두 가지를 반으로 딱 쪼개면 소프트웨어를 구성하는 양대 개념이 나옵니다. 우선 원인을 나타내는 표현 중에 하나인 소스 라는 말이 있습니다. 저것은 원천 이란 뜻입니다. 소스 자 그리고 부호 기호 라는 뜻에서 코드 라는 표현도 많이 쓰고요. 

그리고 우리가 마음대로 저렇게 한다고 저런 결과를 만들어 주지 않겠죠 즉 약속 이라는 측면에서 언어 라고 하는 표현을 사용하기도 합니다. 즉 소스, 코드, 랭기지 라고 하는 것은 같은 대상을 바라보는 관점에 따라서 다르게 사용하는 표현일 뿐입니다.

자 그렇게 해서 만들어진 결과를 부르는 표현으로 는 첫 번째 애플리케이션이라는 것이 있습니다 너무 길면 앱 이라고 부르죠. 또 프로그램 이라는 말도 있는데 이 두 가지는 결국에 같은 대상을 바라보는 관점에 따라서 또 취향에 따라서 다르게 표현하는 말에 불과합니다. 즉 원인을 부르는 소스/코드/language와 결과를 부르는 애플리케이션/프로그램 이라고 하는 표현이 있는 것이죠.

 

자 우리는 자바라는 컴퓨터 프로그래밍 언어의 문법에 맞게 코드를 작성해서 우리가 컴퓨터에게 시키고 싶은 일을 시키는 것이 우리가 하고자 하는 일이라는 것을 꼭 기억해 주시면 좋겠습니다.

 


자 그러면 이 구도를 허리 조금 다른 관점에서 한번 살펴보면 이렇게 볼 수 있습니다

 

일단 우리는 컴퓨터가 있어야 겠죠 자 그리고 여러분이 컴퓨터에다가 자바라는 프로그램을 깔았거든요. 자 그때 여러가지 프로그램들이 깔리는데 그중에 가장 핵심은 자바 버추얼 머신 이라는 프로그램이 여러분의 컴퓨터 현재 깔려있는 상태입니다.

자 그리고 여러분은 자기가 하고자 하는 일을 담은 확장자가 '자바'인 파일을 작성을 했습니다. 자바라는 컴퓨터 언어의 문법에 맞게 만들어진 소스 코드 인 거예요. 그리고 소스 코드는 사람이 이해할 수 있습니다. 기계는 저걸 직접 이해할 수가 없어요 기계는 사람이 아니기 때문에. 그럼 뭘 해야 되냐 기계가. 저 확장자가 자바인 파일을 이해할 수 있도록 전환하는 작업을 해야 되는데 그것이 바로 컴파일이 라고 하는 단계입니다. 이클립스에서는 소스코드를 작성하고 저장 버튼을 눌렀을 때 자동으로 .class라고 하는 확장자를 가진 파일이 만들어지는 데 저 파일이 바로 자바 애플리케이션 이라고 생각하시면 되겠습니다. 즉 여러분이 자바의 기술을 응용해서 만든 애플리케이션 이라고 할 수 있습니다. 자 그리고 나서 여러분이 이클립스에서 이런 버튼을 클릭하면 이클립스가 여러분 대신에 자바 버츄얼 머신한테 시키는 거예요. 여기 내가 헬로 월드 점 클래스라는 파일 만들어 놨으니까 요고 실행해 라고 하면 자바 버추얼 머신이 확장자가 class인 파일을 읽어서 거기에 적혀있는대로 컴퓨터를 동작 시키게 되는 것입니다.

 

이렇게 해서 자바라고 하는 프로그램이 도대체 무엇인가 어떻게 돌아가는가 라는 것을 살펴봤는데, 여러분이 이런저런 경험을 통해서 어렴풋이 시작해서 분명하게 저 개념들의 존재를 이해해 나가게 될 겁니다. 그리고 제가 뒤에서 한번 더 어이 걸 다시 한번 정리 해 드릴 거예요. 자 여기까지 축하드려요


------

* 유튜브 강의에서 자막을 추출해 정리했습니다.

-----

 

뭔지 모르고 주변에서 듣기만 했던 '컴파일'이 뭔지 알게됐다.

반응형