Lewis's Tech Keep

[JAVA] 패키지 & 빌드 및 실행 본문

Java/개체지향 프로그래밍 with JAVA

[JAVA] 패키지 & 빌드 및 실행

Lewis Seo 2021. 4. 27. 21:06

 - 패키지 : 연관된 클래스들끼리 묶는 기법

 

  • 패키지 2종류
    • 자바 기본 (빌트 인) 패키지
      • java.~~ 으로 시작하는 패키지
    • 커스텀(user-defined) 패키지
  • 패키지의 목적
    • 최대 목적 : 클래스 이름 충돌 방지 가능
      • ex) Java.util.ABC && com.lewis.ABC (클래스 이름이 같지만 사용이 가능해진다.)

 

 - 빌드 및 실행

 

  • 빌드 시 cmd 
    • javac -d <컴파일 결과물 저장 경로> <컴파일 할 .java 파일>
      • 컴파일 하면 .class 컴파일 된 파일이 나옴 -> 여기 안에는 바이트 코드가 들어있음.
  • 실행 시 cmd
    • java -classpath <실행할 class 파일 경로> <실행 클래스 이름>
      • 실행 클래스에는 main 함수가 필요함 (JAVA에서 실행 시 main 함수는 약속과 같은 존재
      • 실행 클래스 이름으로 그냥 ABC가 아닌 com.lewis.ABC 와 같은 패키지 이름을 포함해야 함.
  • 배포 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) `{변수}`

Comments