JAVA1

자바 애플리케이션 실행

수업소개

가장 간단한 자바 애플리케이션을 구현해서 실행해봅시다. 결과물은 간단 하지만 그 의미는 간단하지 않습니다. 

 

 

 

강의1

 

Editor does not contain a main type 라는 에러가 발생하면 src 디렉토리로 소스코드 위치를 변경한 후에 실행시켜보세요. 이 문제에 대한 자세한 설명입니다. 문제가 없는 분은 강의 2로 넘어가세요. 

 

 

강의 2 

댓글

댓글 본문
작성자
비밀번호
  1. 수영
    20020226 완료
    Hello World 인출될 때 감격
  2. Ryzen
    2020-02-24 완료
  3. 베이비유저<baby user>
    내가 자바 코드작성하면 이클립스가 컴퓨터가 이해할수 있도록 컴파일 작업 하여 class 생성
    >> 그걸 자바 머신이 받아서 무슨 여러가지 진행하여 컴퓨터에 출력
  4. 규동
    저장을 눌러도 class확장자가 안보이는데 뭐가 문제인가요
  5. dofvmrhwk
    복습하고 또 복습합니다
  6. D3NIM
    제가 너무 따라하기식 으로만 수업을 들은것 같아서 다시 처음부터 복습중 입니다!
  7. 로그인
    소스코드를 컴파일하고 run을 누르면 이클립스가 java virtual machine을 실행시키고 java virtual machine이 컴퓨터를 동작시키는 원리!
  8. 모야
    정말 잘가르치시네요! 완강 목표로 달립니다~
  9. 워니
    역시 잘 가르치십니다~
  10. 끝!
  11. 임지수
    2020.01.23 완료
  12. public class HelloWorldApp {
    public static void main(String [] args) {
    System.out.println("Hello world!!");
    }
    }

    코딩완료
  13. Error occurred during initialization of boot layer
    java.lang.LayerInstantiationException: Package jdk.internal.jimage in both module jrt.fs and module java.base

    이건 무슨 문제인가요?
  14. serina
    2020.1.18 완료
  15. 2020.01.15.WED 완료
  16. 뉸찡
    Hello World 2020.01.14 완료!!
    처음이라 어렵고 느리지만 완성시켜서 기쁩니다!!! 재밌어요
  17. 라또마니
    감사합니다.
  18. 취생아
    완료 2020.1.10
  19. 윤영휘
    2019.12.30
  20. 소금설탕
    여기까지 완료. 고맙습니다.
  21. 모른다요
    강의완료
  22. 하이리
    ▶Java Source code.java → Java Application.class → Java Virtual Machine → Computer
    ① 컴퓨터 언어인 "JAVA"의 문법에 맞게 소스코드를 작성하면, 확장자명 .java가 생성됨.
    이 파일은 사람이 이해할 수 있는 소스이나 컴퓨터는 읽지 못함.
    ② 이것을 컴퓨터가 이해할 수 있도록 전환하는 작업이 컴파일 Compile임.
    이클립스에서 작성한 소스코드를 저장하면, 확장자명 .class파일이 작성되며 이는 컴퓨터가 이해할수 있음.
    ③ 파일을 실행(Run)하는 순간 Java Virtual Machine이 컴파일된 .class 파일을 읽고 결과를 실행함.
    ④ 화면에 Hello World가 뜸
  23. 윌리엄
    IDE(통합 개발 환경)이 진짜 편리한 이유.txt

    1. IDE 안에서 프로젝트를 만들고 바로 확장자 지정해서 소스 코드 파일을 생성할 수 있다. 귀찮은 건 IDE가 다해준다.
    2. 컴파일을 대신 해준다. 프로그램은 본질적으로 짠 소스 코드를 컴파일, 라이브러리와 링크, 디버깅 과정을 거쳐야 한다. 옛날엔 사람이 전부 다했다. 하지만 지금은 IDE가 알아서 해준다. 좋은 코드를 짜는데만, 버그를 수정하는 데만 집중할 수 있다.
    3.컴파일로 바꾼 파일을 IDE가 알아서 실행시켜준다. 강의 2 보기 전까지 JVM도 모르고도 내가 원하는 결과를 출력했다.
  24. 윌리엄
    프로그램을 만든다면 이미 프로그래머이심다. 여기 참고하시면 아마 좋은 답을 얻을 수 있을 것임다.

    https://www.youtube.com......xVc
    어떤 언어부터 배워야할까? 5개 언어 5분개념탑재(노마드 코더)
    =>꼭 여기 나온 설명만이 전부는 아님다. 예시일 뿐이지만 처음에는 얼마든지 참고할만하다고 생각해서 넣었습니다.

    https://www.youtube.com......xvY
    입문자를 위한 책을 추천해주세요(코딩의 신 아샬)
    =>초보라면 보면 정말 도움되는 조언이라고 생각함다. 이게 진짜 중요함다. 진짜 흔히 겪는 함정을 피할 수 있게 도와줌다.

    https://www.youtube.com......DhM
    초보자는 어떤 프로그래밍 언어를 배워야할까요?(코딩의 신 아샬)
    =>아직 제대로 생각해보지 않으셨다면 공감하지 못할 수도 있습니다. 하지만 정말 당연한 얘기임다. 흘려들으면 꽤 많은 것을 놓칠 수도 있기에 공감하지 못하더라도 새겨들었으면 함다.

    잘 모르시겠다면 WEB1 수업을 들어보세요. 물론 저는 주선선생님이 운영체제 개발자가 될지, 인공지능 개발자가 될지, 프론트엔드 개발자가 될지, 백엔드 개발자가 될지 모르겠슴다. 하지만 무슨 길을 나아가든 웹이라는 기술을 이해하지 않는 건 큰 손해임다. WEB1은 결국 프론트엔드 기술이지만, 어떤 개발자든 자신의 영역에서 웹 기술을 사용하지 않는다면 매우 좋은 명검을 장롱에 고이 쟁여놓는 격임다.

    마지막으로 조언을 드리자면, 고민하기보다 지금 당장 할 수 있는 것부터 실행하면서 방향을 생각하셨으면 좋겠습니다. 필히 내가 배운 것을 사용할 기회가 올 것입니다. 새로운 소식으로 전황이 바뀔 때까지, 계속 준비하면 기회가 왔을 때 바로 잡을 수 있기 때문입니다. 기왕 시작하셨으니 포기하지 않고 끝까지 같이 성장하셨으면 좋겠습니다.
    대화보기
    • souLTrain
      이고잉님 항상 감사합니다!
    • gds1423
      Java Source Code -> Java Application -> Java Virtual Machine -> Computer
      확장자가 .java인 파일(소스코드)는 기계가 이해할 수 없고 사람만 이해할 수 있는 언어로 작성되었다. 이클립스에서 저장을 하면 기계가 이해할 수 있도록 전환해준다.(컴파일 해준다) 그러면 확장자가 .class인 파일이 생성된다. 이클립스에서 run을 실행하면 JVM(Java Virtual Machine)이 .class 파일을 읽어서 컴퓨터가 실행하도록 한다.
    • 오늘부터 시작합니다.
      자세한 설명 감사합니다!
    • 정말 군더더기 없는 설명이네요.. 감탄스러워요 감사합니다!!
    • 오늘도 화이팅~
    • 쑤우
      수강완료. 감사합니다.
    • 자바공부
      no source floder exists in the project 라는 오류는 어떻게 해결해야 할까요?
    • 띠로링
      안녕하세요 질문글 하나 올리려고 합니다. (수정사항. OS재설치를 통해 해결했습니다ㅜ)
      HelloWorldApp.java 파일을 생성하는 단계에서 오류가 생겨 강의 수강에 차질을 빚고있습니다. 해결법 아시는분 도움주시면 감사하겠습니다. 그리고 추후 오류 해결 내용은 업데이트 할 예정입니다.

      리눅스민트+STS4.4.1(eclipse의 확장판격? IDE) 환경에서 수강중이었습니다.

      1. HelloWorldApp.java 파일을 생성하는 단계에서 아래와 같은 오류 발생
      ```
      The JRE you are running Eclipse with appears to not be a JDK.
      Spring Boot Live hovers will not work with a plain JRE.
      The JRE you are running Eclipse with is: /usr/lib/jvm/java-11/openjdk-amd64
      ```

      2. stackoverflow검색하여 안내된 해결법에 따라 아래 커맨드 실행
      stack 링크(https://stackoverflow.com......ing)
      `sudo apt-get install openjdk-11-jdk openjdk-11-demo openjdk-11-doc openjdk-11-jre-headless openjdk-11-source`

      2-1. 첨언하자면 당시 터미널에서 `javac`명령어가 실행되지 않은 것으로 비추어 2.의 답변처럼 JDK가 설치되지 않았다고 판단하였음.

      3. 여전히 에러1, 에러2와 같은 오류가 발생했고, eclipse를 STS 대신 사용하고자 다운로드 받았지만, 에러3에 해당하는 오류 출력되면서 설치 실패.

      ```에러1-무한반복
      Unhandled event loop exception
      No more handles
      ```
      ```에러2
      An SWT error has occurred.
      You are recommended to exit the workbench.
      Subsequent errors may happen and may terminate the workbench without warning.
      See the .log file for more details.
      Do you want to exit the workbench?
      ```
      ```에러3
      internal error: No more handles
      +추가로 수십줄에 해당하는 엄청 많은 경로와 파일명 리스트 반환
      ```

      여기까지가 제가 시도한 방법들인데 아직 실마리를 찾지못해서.. 헤매는 중입니다. 해결법 찾으면 또 업데이트 하겠습니다.

      =========1차수정=========
      결국 OS 밀고 재설치 했습니다. 아직까지는 더이상 충돌은 없는 상황인데 수업 진행하면서 또 피드백남기겠습니다.
    • 멋지게살자
      일목요연하게 설명해 주셔서 감사합니다.
    • 2019.11.15
      .java라는 확장자의 파일을 저장하면
      컴파일을 하여 컴퓨터가 읽을수있는 .class라는 파일이 만들어진다.
      그리고 .java의 소스를 실행(run)을 하면,
      eclipse는 JVM에게 이 class파일을 전달한다.
      그리고 JVM은 이 class파일을 받아들이고 해석하여 컴퓨터에게 전달하면 컴퓨터는 그 기능을 실행하여 우리에게
      보여주게된다.
    • 확장자가 .java 인 코드를 작성 후 기계가 읽을수 있게 Compile을 한 후 이클립스라는 프로그램을 통해 run을
      진행하게 되면 java virtual machine 이라는 프로그램을 통해 컴퓨터 화면으로 전달된다.
    • 19.11.05 완료
      프로그래머가 .java 확장자로 만든 코드는 컴퓨터가 이해할 수 없다.
      이 때 컴파일하게 되면 .class의 자바 어플리케이션이 만들어진다.
      자바 어플리케이션을 구동하게 되면 JVM(Java Virtual Machine)이 어플리케이션이 원하는 동작이 무엇인지 받아서 컴퓨터가 알아들을 수 있게 설명해서 그대로 작동시킨다.
    • 주장
      확장자가 자바인 파일을 작성한다
      이 작성된파일(.java)는 기계가 이해할수 없기때문에
      컴파일을 시킨다.
      그러면 (.class)파일이 만들어진다.
      이것을 애플리케이션이라고부른다.
      이클립스에서 run버튼을 누르면 jvm에서 class파일을
      실행해서 어플리케이션이 실행된다!
    • 개개
      소스코드(원인)로 애플리케이션(결과)을 구동하는 과정
      사람이 소스코드를 입력하는 .java 파일 생성
      -> 이클립스 저장: .java를 기반으로 컴퓨터가 이해할 수 있는 .class 파일 생성(=컴파일)
      -> 이클립스 실행: JVM에서 .class 파일 실행
      -> JVM이 컴퓨터에게 실행 명령, => 애플리케이션 구동
    • 주선선생
      처음 뵙겠습니다.
      잘 부탁드립니다.
      프로그래머가 되고 싶은데, 완전 왕초보라면 무엇부터 어떤 강의를 청취해야 되는지요?
    • 미래프로그래머
      쉽게 말해서 정리해보면 우리가 짠 코드는 컴퓨터가 못 읽음(확장자: .java)
      그래서 우리가 저장을 하면 컴퓨터는 자동적으로 그 파일을 compile 이라는 과정을 통해 컴퓨터가 이해할 수 있는 코드로 변환하고 ~~application(확장자:class) 로 바꿈. 그리고 우리가 run 이라는 버튼을 누르면 java virtual machime(이거는 우리가 다운 받아서 생기는 게 아니고 자바 만든 회사에서 같이 만든 거임) 이 컴퓨터에게 그 파일, 그러니까 컴파일된 파일을 실행하라고 명령하는 거 라고 정리 가능합니다.
    • Leecche
      자바로 소스 코드를 짠다 -> 컴파일 해서 자바 어플리케이션 및 클래스 생성 -> 자바 버츄얼 머신으로 동작 시켜 컴퓨터에 띄운다.
    • 햄쮸맨
      소스코드.java (사람이 짠 파일,컴퓨터는 못 읽음.)-----(컴파일,기계어로 변환)----->JAVA App.class(기계어로 된 실행파일)-----(실행명령,불러오기)----->JAVA Virtual Machine(실행용 가상 머신인듯?)-----(실행중...)----->컴퓨터(우리가 보는 화면인듯)
    • 조예인
      초보인데... 정말 쉽게 따라하는 중입니다.
    • 사람이 .java 파일을 만들어 저장하면 저장 동시에 컴파일되면서 컴퓨터가 읽을 수 있는 .class 파일을 만든다.
      run 하면 컴퓨터가 .class 파일을 읽어 java virtual machine을 통해 컴퓨터에 그 내용이 보여지게 된다.
    • egoing
      패키지 폴더는 개발에 직접적으로 필요하지 않는 파일이나 디렉터리를 감추기 때문에 보이지 않는 것입니다. 수업과는 상관 관계가 없습니다.
      대화보기
      • 기봉기봉
        소스코드인 .java 파일(컴퓨터가 읽을 수 없음)을 저장하고 컴파일한다.

        컴파일 후 만들어진 .class 파일(컴퓨터가 읽을 수 있게 만들어진 것)

        class 파일을 자바 VM에 보내 실행하게 되면 컴퓨터에서는 이를 보고 실행시킴
      • 기봉기봉
        package explore에는 setting 폴더가 없고 , navigator에는 setting 폴더가 있는데 상관없는건가요?
      • LiberSpiritus
        1. 먼저 Java 언어를 통해 코드를 입력하고 저장을 한다 (이때 사용되는 파일은 .java 파일)
        2. 그와 동시에 '컴파일'이란걸 하게 되는데 이는 우리가 입력한 코드를 컴퓨터가 읽어드릴수 있게 해석 하는 과정을 말한다. (컴파일이 완료된 파일은 .class 파일)
        3. Java Virtual Machine을 통해 컴파일 완료된 파일을 컴퓨터로 실행 시킨다

        적어보긴 했는데 맞는지 모르겠네요..^^;
      • 슈슈
        와 신기해요
        그런데 따옴표의 경우엔 에러가 발생한다고 하셨는데
        대괄호는 안에 들어가도 딱히 상관이 없는건가요? 쓰임새가 없는것인가요..ㅋㅋㅋ
      • ㅎㅎ
        1. 인간이 Java Language를 가지고 Code를 짠다.
        2. 컴퓨터는 그 Code를 .class로 저장하는데 이는 application으로 부를 수 있고 1번이 2번이 되는 과정을 Compile이라고 한다.
        3. Java Virtual Machine이 .class 파일을 run하여 Computer에 띄운다.

        와.. 머리로는 이해가 그나마 되는데 말로하니 참 설명하기 어렵네요! ㅎㅎ 그래도 열심히 배우고 갑니다. 자바, 이클립스 구동에서 버벅거려서(워낙 컴맹이랔ㅋㅋ;;;) 이제 드디어 제대로 된 강의 듣고 Hello World 출력했네용 ㅋㅋ
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기