Java

생활코딩 java 입문편 - 8일차

소댓 2022. 12. 7. 11:35

11.16

 

(12) 직접 컴파일

12.3 직접 컴파일하고 실행하기 : 컴파일과 실행하기

 

- 윈도우 탐색기에 컴파일하고자 하는 .java 파일을 컴파일해보자.

먼저, source 코드가 위치하고 있는 경로를 터미널에 입력하고 cd+오른쪽 클릭을 하면 붙여넣기

> 엔터를 치면 경로가 바뀜

 

dar

Program.java를 컴파일해서 class파일 만들기 >> 이때, 명령어가 javac

javac Program.java

dar 입력하게 되면, class 파일 생성됨

+ 에러메세지 발생하면 java -cp "." Program.java 입력

 

- java Program class 파일 실행할 때,

java Program 입력

안되면, java -cp "." Program

 

 

12.4 직접 컴파일하고 실행하기 : 라이브러리 이용

 

- new Elevator에서 Elevator는 이 코드 안에 존재 x

실제로는 import org.opentutorials.iot.Elevator;을 불러온 상태

> 이것은 OKJavaGoInHome.java 와 같은 디렉토리의 org, opentutorials, iot 안에 있음

> 여기서 org~iot 만큼을 패키지라고 부름(작은 프로그램들이 모여있는 패키지)

 

여기서 Elevator.java 파일이 있는데 이것을 컴파일하면 Elevator.class 파일이 생김

> 이 코드를 로딩하는 코드가 import org.opentutorials.iot.Elevator;

>  이것이 import 되었기 때문에 Elevator 코드를 통해 Elevator.class 파일을 이용 가능

 

 

javac OkJavaGoInHome.java 하고 엔터

> class 파일(실행 파일)이 생성됨

이 소스코드는 내부적으로 패키지 안에 있는 여러 파일들을 필요로 함

따라서 자바 컴파일러가 이 패키지 안의 파일들도 컴파일 시켜줌

 

- lib이라는 폴더 생성하고 org 폴더를 lib 안으로 이동한다면?

package org.opentutorials.iot does not exist 라고 나옴

> 이럴 때, javac -cp ".:lib" OkJavaGoInHome.java를 치면 자동으로 컴파일되고, 필요한 파일들을 컴파일해서 생성해줌

 

>> 다른 사람이 사용할 수 있도록 잘 정리정돈된 프로그램들을 '라이브러리'라고 함

 

 

12.5 직접 컴파일하고 실행하기 - 입력과 출력

 

- 직접 컴파일을 하고 실행을 할 때, 입력값을 줘서 그 입력값에 따라 다르게 동작하는 프로그램을 어떻게 실행하는지

- 윈도우 탐색기에 tree. 이라고 명령어를 입력하면 디렉토리의 파일 목록이 출력

 

- OkJavaGoInHome.java 파일을 컴파일 

javac OkJavaGoInHomeInput.java 입력,

OkJavaGoInHome.java 파일이 컴파일되어 class 파일이 생기고,

이 파일이 사용하고 있는 다른 class 파일들도 컴파일되어 class가 생기게 됨

 

args : 프로그램을 실행할 때, 프로그램에 입력값을 줬을 때 입력값을 받는 것

(String[] args)의 맨뒷부분과 이름이 같아야 함

> args에 값을 넣는 방법은?

java OkJavaGoInHomeInput "Java APT 507" 15.0

                                               ID값(args[0])    args[1]

 

* 명령어로 앱을 실행할 때 장점은, 

애플리케이션에 직접 cmd 창으로 그때 그때 원하는 입력값을 넣어줌으로써

프로그램이 우리가 원하는 대로 동작할 수 있고, 

프로그램을 훨씬 더 다양하고 간편하게 사용할 수 있다.