Lewis's Tech Keep
[JAVA] 패키지 & 빌드 및 실행 본문
- 패키지 : 연관된 클래스들끼리 묶는 기법
- 패키지 2종류
- 자바 기본 (빌트 인) 패키지
- java.~~ 으로 시작하는 패키지
- 커스텀(user-defined) 패키지
- 자바 기본 (빌트 인) 패키지
- 패키지의 목적
- 최대 목적 : 클래스 이름 충돌 방지 가능
- ex) Java.util.ABC && com.lewis.ABC (클래스 이름이 같지만 사용이 가능해진다.)
- 최대 목적 : 클래스 이름 충돌 방지 가능
- 빌드 및 실행
- 빌드 시 cmd
- javac -d <컴파일 결과물 저장 경로> <컴파일 할 .java 파일>
- 컴파일 하면 .class 컴파일 된 파일이 나옴 -> 여기 안에는 바이트 코드가 들어있음.
- javac -d <컴파일 결과물 저장 경로> <컴파일 할 .java 파일>
- 실행 시 cmd
- java -classpath <실행할 class 파일 경로> <실행 클래스 이름>
- 실행 클래스에는 main 함수가 필요함 (JAVA에서 실행 시 main 함수는 약속과 같은 존재
- 실행 클래스 이름으로 그냥 ABC가 아닌 com.lewis.ABC 와 같은 패키지 이름을 포함해야 함.
- java -classpath <실행할 class 파일 경로> <실행 클래스 이름>
- 배포 cmd
- .jar 파일로 만들어서 배포
- jar <option> <jar 파일 이름> <최상위 패키지 경로>
- jar -cf <파일이름> <최상위 패키지경로> 로 그냥 해도 안나오는 이유 : manifest가 없다.
META-INF\MANIFEST.MF 라는 파일이 있는데 실행에 필요한 메타데이터들이 저장되어 있는데 이 manifest가 없기 때문 - far -cfm <파일이름> <최상위 패키지 경로> <매니페스트 파일 경로>
*빌드인 패키지 중 (java.lang) 에 있는 System.out.println 은 빌트인 이기때문에 import 없이도 그냥 되는 것
*빌드인 패키지 중 (java.lang) 에 있는 System.out.format 으로 템플릿 리터럴도 가능 (ex) `{변수}`
'Java > 개체지향 프로그래밍 with JAVA' 카테고리의 다른 글
[OOP] OOP 특성 (0) | 2021.05.18 |
---|---|
[JAVA] 개체 지향 - 생성자 및 접근 제어자 (0) | 2021.05.11 |
[JAVA] 문자열 비교 String 에 관하여 (0) | 2021.05.01 |
[JAVA] 자바 자료형 (0) | 2021.05.01 |
[JAVA] 자바는 Cross Platform 인가? (0) | 2021.04.30 |
Comments