열혈 Java 8차시

yanganglove·2022년 11월 25일
0

열혈 Java

목록 보기
8/12

8-1 클래스 패스(Class Path)

  • 클래스 패스 설정하지 않은 채로 서브 디렉토리 파서 호출되는 클래스를 집어넣는 것처럼 디렉토리 구조 변경하고 컴파일하면 클래스를 못 찾아서 컴파일 에러발생할 수 있다
  • 클래스 패스란 JVM의 클래스 탐색 경로이다
  • 절대 경로 - 루트 디렉토리가 시작이다 권장되지 않는다
  • 상대 경로 - 현재 디렉토리를 기준으로
  • 클래스패스를 고정시킬 수는 있지만 좋은 방법이 아니고 가능하다는 사실만 알자

8-2 패키지의 이해

  • 패키지 선언이 필요한 상황 - 여러 회사에서 클래스를 가져오면 클래스 이름이 겹칠 수가 있다
  • 공간에서 충돌 - 같은 디렉토리에 동일한 이름의 파일들은 운영체제 관점에서 저장 자체가 불가능하다
  • 접근 방법의 충돌 - 자바컴파일러가 무슨 클래스를 읽어야 되는지 내마음을 읽어서 컴파일해줄수 없다
  • 패키지 선언을 해주면 저장되는 위치가 서로 다르고 인스턴스 생성시 사용하는 이름이 다르므로 문제가 해결된다
  • 패키지의 이름은 모두 소문자고
  • 도메인의 역순이다
  • 끝에는 주체나 팀의 이름을 덧붙인다
  • 패키지 맨 앞의 디렉토리는 클래스패스로 찾고 그 뒤로는 패키지지정으로 찾는다
  • -d 명령어로 디렉토리 만들 수 있다
  • 클래스 하나에 대해 import 선언으로 가져올 수 있는데
  • import들의 클래스 이름이 서로 똑같으면 컴파일 오류난다
  • 패키지 전체에 대해 import 선언으로 가져올 수 있지만 권장되지 않는다

0개의 댓글