자바의정석

[자바의 정석-기초편] ch1-8,9 첫 번째 자바프로그램 작성

유호야 2022. 1. 18. 16:40
반응형

jdk 폴더에
work 폴더 생성
그 내부에 Hello.txt 파일을 생성한다
(H는 꼭 대문자로)

- 탐색기 설정 

옵션 클릭

 

알려진 파일 형식의 파일 확장명 숨기기

그리고 메모장에 입력

 

저장

윈도우 + R 키를 이용해 CMD 창 실행

명령어 cd 는 change directory 현재 디렉토리를 변경하는 것

dir 을 입력하면 현재 디렉토리에 있는 모든 파일이 나온다

 

Hello.java 파일을 컴파일러로 컴파일 한다

컴퓨터가 javac.exe가 어디에 위치해있는지 모르기 때문에 나오는 화면

 

work 폴더 내부에 있는 Hello.java를 실행하는데 컴파일 해야하기 때문에
javac Hello.java 라고 입력을 한다.

javac Hello.java

하지만 실행이 안됀다

왜냐?

컴퓨터는 javac.exe가 어디에 있는지 모르기 때문에
그래서 javac 앞에 경로를 함께 붙여준다.

C:\jdk11\bin\javac Hello.java

근데 javac 입력해서 컴파일 하려고 할 때마다 이렇게 귀찮게 일일이 경로를 입력해야 한단 말인가?

를 방지하기 위해서

우리는 시스텝 옵션 환경변수에 가서

PATH 에다가 javac의 경로를 새로 만들어서 저장한다

그럼 일일이 경로를 작성하지 않아도 된다.

javac Hello.java

경로 입력 없이 작성했는데 또 오류가 난다?

그런데 이번에 발생하는 문제는 인코딩 문제인 것 같다
인터넷에서 보니 cmd에서 code page 자체를 변경하는 방법을 사용하라고 해서

ㄴ "chcp 65001" 입력

사용해봤지만 여전히 오류

그래서 사용한 것이 

javac Hello.java -encoding UTF-8

컴파일 파일 뒤에다가 UTF-8 입력했더니 완료되었다!

 

해당 명령을 실행한 후에는 java.class, 즉 클래스 파일이 생성된 것을 볼 수 있다

class 파일을 실행해보면, 바이너리파일 또는 이진파일이라고 한다.

type Hello.java // 텍스트 파일
type Hello.class // 사람이 읽을 수 없는 바이너리 코드

사람이 알아볼 수 있는 파일 

컴파일할 때와 달리 실행할 때는 확장자명을 붙이지 않는다.

java Hello

 

코드는 대소문자를 구별한다.


1. javac.exe
컴파일 시 자바가상머신(java virtual machine)이 이해할 수 있는 언어로 컴파일 되며, class 파일이 생성된다. 
사람이 작성한 언어를 기계어로 변경

2. java.exe - 자바 인터프리터, 자바 프로그램(클래스 파일)을 실행
클래스파일을 읽어서 실행 시킨다. 

3. 클래스 - 자바 프로그램의 단위, 자바 프로그램들은 클래스들로 구성

자바 프로그램은 최소한 하나 이상의 클래스로 이루어져있어야 한다. 자바의 모든 문장들은 클래스 안에 속해야 한다. (몇 가지 예외가 있긴 함)

4. main 메서드 - 자바 프로그램의 시작점, 이 메서드 없이는 실행이 불가능하다.

반응형