프로그래밍 입문

실행

토픽 프로그래밍 입문 > Java 언어

코드

우선 코드에 대해서 알아보자. 코드(code) 혹은 소스(source)는 프로그램이 어떤 모습이고, 어떻게 동작해야 하는가를 표현한 일종의 설계도라고 할 수 있다. 그런데 컴퓨터 프로그래밍에서의 설계도는 설계도 이상의 의미가 있다. 설계도를 컴퓨터에게 제출하는 순간 컴퓨터는 그 설계도에서 요구하는 프로그램을 마법처럼 만들어주기 때문이다. 그래서 프로그래밍에서의 설계도는 그 프로그램 자체라고도 할 수 있다. 코드는 자바의 문법에 맞게 만들어진 텍스트 파일이고, 이 파일의 확장자는 .java를 사용한다.

아래와 같이 파일을 만들어보자. 코드를 만드는 데는 복잡한 프로그램이 필요 없다. 가장 간단한 에디터인 메모장(win)이나 텍스트에디터(mac)로도 코드를 만들 수 있다. 적당한 디렉터리를 만들고 아래와 같은 내용을 가지고 있는 파일을 만들어보자. 파일의 이름은 Helloworld.java다.

class Helloworld {
    public static void main(String[] args){
		System.out.println("Hello world");
	}
}

컴파일

그런데 코드 자체를 바로 실행할 수는 없다. 자바의 문법은 사람만이 이해할 수 있는 형식으로 되어 있기 때문이다. 이 코드를 컴퓨터가 이해할 수 있는 상태로 변환해주는 과정이 필요한데 이것을 컴파일(compile)이라고 하고, 이 작업을 하는 소프트웨어를 컴파일러(compiler)라고 부른다. 자바의 컴파일러는 javac 라는 이름을 가지고 있다. 만약 helloworld.java라는 코드를 컴파일한다면 아래와 같은 식으로 javac를 실행하면 된다. 

javac Helloworld.java

실행

위 의 명령을 실행하면 같은 디렉터리에 helloworld.class라는 이름의 파일이 생성된다. 바로 이 파일이 컴파일된 파일이고, 쉽게 말해서 실행파일이라고 할 수 있다. 그런데 이 파일은 파일 이름만으로 실행 할 수 있는 것은 아니고, 컴파일된 파일을 실행시켜주는 프로그램을 이용해야 한다. 이 작업을 하는 프로그램을 런처(launcher)라고 하고 아래와 같이 실행한다.

java Helloworld

여 러분이 해야 할 일은 런처를 이용해서 확장자가 class인 파일을 실행하는 것이다. 런처는 내부적으로 자바 가상 머신에서 우리가 만든 코드가 동작하도록 한다. 우리가 만든 프로그램은 최종적으로 자바 가상머신이라는 것을 통해서 동작하게 된다.

위와 같은 흐름을 통해서 자바 프로그램이 만들어지고 실행된다. 이를 통해서 알 수 있는 것은 코드만 있다고 프로그램이 만들어지는 것은 아니라는 것이다. 실제로 동작하는 프로그램은 자바이고, 여러분은 자바가 어떻게 동작할 것인가를 코드로 작성해서 자바에게 전달하면 자바는 그 코드에 적혀있는 데로 실행하게 되는 것이다. 아래 그림을 보자.

운영체제 별 실행방법

운영체제에 따라서 자바를 실행하는 방법이 조금씩 다르다. 자신의 운영체제에 맞는 수업을 찾아서 구체적인 실행 방법을 알아보자.

윈도우에서 자바 실행

http://opentutorials.org/module/516/5563

OSX에서 자바 실행

http://opentutorials.org/module/516/5564

리눅스에서 자바 실행

http://opentutorials.org/module/516/5565

댓글

댓글 본문
  1. 24.01.03 완료
  2. 힝구
    231030

    봐도 못알아듣는ㄱ게 무서워요ㅛ
  3. DreamBoy
    2023.10.26. Java - 실행 파트 수강했습니다.
  4. 모멋
    23.07.04 학습 완료.
  5. 소진
    2023년 5월 31일 실행 학습완료

    1. 메모장으로 코드 복사 후 "Helloworld.java" 라고 저장
    2. cmd 실행해서 javac Helloworld.java(확장자명 정확히 기입) 입력- javac : 컴파일러
    3. Helloworld.class 라는 파일 생성(비트코드)
    4. java Helloworld(class 생략!) 입력 -> hello world 출력이 된다.

    메모장의 hello world를 world hello라고 다르게 저장할 시, 새로 컴파일 해야한다.
  6. 오늘도긍정적으로
    2023년 05월 23일 화요일 학습완료!
  7. AgainstartJH
    2023년 02월 14일 학습완료!
  8. 완료
  9. 하앙
    완료
  10. 강형욱의보신탕
    220519
  11. 치키티타
    220509
  12. 이현수
    2022.03.16(수)
  13. syh712
    2021-11-24
  14. 드림보이
    2021.11.04. 실행 파트 수강완료
  15. 생동태
    2021.11.4
  16. 황종서
    2021/02/19 완료
  17. 広川
    ありがとうございました。
  18. 황동민
    2일차-실행
  19. 과연다볼수있을까?
    20190101 완료!
  20. 허공
    감사합니다!
  21. Timelite
    2019 09 11 강의 듣고있습니다 에러 나시는분들은 자바자체를 삭제 햇다가 다시깔아보시면 해결이되네요 !
  22. PassionOfStudy
    190903 Note
    * Java 실행
    코드 -> 컴파일 -> 실행 단계로 이루어진다

    1. 편집기를 통해 소스코드를 작성(Helloworld.java)
    2. javac라는 컴파일러를 통해 소스코드를 바이트코드로 만들어준다.(Helloworld.class)
    3. 만들어진 바이트코드를 실행해주는데 이 때 java virtual machine이 실행시켜준다.
  23. 홍주호
    20190827 완료
  24. 다나가
    190814 수강완료!!!!
  25. 얼그레이
    190623 감사합니다!
  26. 라또마니
    고맙습니다. 약간 복잡하네요
  27. 김승현
    영상 잘 봤습니다!! 여러번 봐야지 이해되겠네요 ㅜ
  28. 감사합니다
  29. 조제연
    완료
  30. 백선우
    20180822 수요일 완료

    작성한 코딩을 Javac로 해석하면, 코딩은 컴퓨터가 읽을 수 있는 Byte Code로 변환 되어 .class 라는 확장자를 가진 파일로 생성 됨. 그 후에 JVM에서 해당 파일을 실행시킴.

    이해했슴닷!
  31. 전민희
    완료
  32. dorogram
    완료
  33. 드론
    코딩을 배워보고자 자바로 첫프로그래밍 언어 배우는 비전공자입니다. 강사님이 초심자를 위해서도 정말 사려깊게 설명해주셔서 코딩경험 한번 없던 저와같은 비전공자도 기본개념 및 첫흐름을 잡는데 있어서 막연하지 않게 공부하며 따라올 수 있도록 이해를 돕네요. 귀한 강의 정말 감사드립니다!
  34. 송영일
    원리는 이해하겠습니다 2018년4월23일
  35. 카이차차
    감사합니다~
  36. Brett Kwak
    감사합니다~
  37. 반자동
    잘 봤습니다!
  38. 김진홍
    감사합니다!
  39. JUNY
    감사히 잘 봤습니다!
  40. 자바 실행 영상에 다 설명 되어있는데 다시 확인해보세요
    대화보기
    • Helloworld.java:1: error: error while writing Helloworld: C:\Program Files\Java\jdk-9\bin\Helloworld.class
      class Helloworld {
      ^
      1 error
      쌩초보라 .. 이거때문에 검색해보니까 현재 디렉토리가 파일이 있는 디렉토리가 아닌것 같다고 해서
      무슨 말인지 이해 못해서 파일을 bin 안에 넣었다가 홈으로 다시 옮겼다가 했는데요 ..
      동영상에는 설명이 안되어있는거 같은데 경로를 설정해줘야 하네요
      경로 설정하는 명령어는 https://ko.wikihow.com......%95
      여기서 찾았어요..
      앞에 cd 붙이고 파일 있는 위치 복사해서 경로 설정한뒤에 javac하니까 되네요
      하나 헤쳐나가는것도 힘들군요
    • AngelPlayer
      2017. 10. 09.
      학교에서 배우는 것보다 더 쉽게 알려주시는 것 같습니다..
      언제나 감사하게 잘 듣고 있습니다!
    • 다시시작
      완료
    • 김문규
      감사합니다.
    • pjvfa
      C:\Program Files\Java>javac Helloworld.java
      javac: file not found: Helloworld.java
      Usage: javac <options> <source files>
      use -help for a list of possible options

      C:\Program Files\Java>dir/w
      C 드라이브의 볼륨에는 이름이 없습니다.
      볼륨 일련 번호: 1EA8-1441

      C:\Program Files\Java 디렉터리

      [.] [..] Helloworld.java.txt
      1개 파일 117 바이트
      2개 디렉터리 26,230,005,760 바이트 남음

      저는 java class 파일이 생성되지 않는데 왜 그런 걸까요ㅠㅠ
    • kyk0511
      감사합니다 ^^
    • K_SSUN
      저도 Yoon님과 같은 오류가 떠서 구글링해서 해결했습니다
      혹시나 다른 분들도 찾아보실까봐 주소 올립니다:D
      https://programmers.co.kr......737
      대화보기
      • yoon88
        완료
      • 김덕배
        path 설정 제대로 안해서 그럴걸요
        대화보기
        • Yoon
          그 자바 소스를 컴파일해서 class 까지는 만들어지는데 class를 java Helloworld 실행하면 이런오류가떠요.. 뭐가문제인걸까요 ㅠㅠ.. 환경변수도 다설정했습니다 ㅠ..

          class Helloworld {
          public static void main(String[] args){
          System.out.println("Hello world");
          }
          }

          C:\Users\yoon\Dropbox\java_tutorial>javac Helloworld.java

          C:\Users\yoon\Dropbox\java_tutorial>java Helloworld
          오류: 기본 클래스 Helloworld을(를) 찾거나 로드할 수 없습니다.