JAVA의 가장 기본이 되는 내용

Package에서 딱 하나 헷갈리는 한가지

cwchoiit 2024. 3. 26. 15:53
728x90
반응형
SMALL

진짜 어려울 게 하나도 없는 Package 개념에서 헷갈리는 딱 한가지만을 정리하고자 한다.

보통 패키지 구조는 다음과 같다.

  • a
    • b
    • c
      • d
      • e
      • f

그리고 이 구조는 파일시스템에서 디렉토리의 구조와 백퍼센트 일치해야 한다. 

근데 이게 중요한게 아니고 이 구조라면 패키지는 몇개일까? 6개다.

a/a.b/a.c/a.c.d/a.c.e/a.c.f

 

즉, a안에 b가 있으면 a 패키지에 포함 아닌가요? 절대 아니다. a랑 a.b랑은 완전히 다른 패키지이다. 사람이 볼때야 저게 a안에 b처럼 보이지만 자바는 둘을 완전히 다른 패키지로 판단한다. 이것만 좀 주의. 그래서 실제로 만약 특정 클래스에서 a.c와 같은 구조를 가진 패키지 전체를 임포트해도 a.c.d 패키지안에 있는 클래스 사용하려면 따로 임포트해야 한다. 다음이 그 대답이다.

다음과 같은 패키지 구조를 가질 때 Order 클래스에서 User와 UserService를 임포트 할 땐 이렇게 한다. 

즉, user와 user.service는 완전히 다른 패키지라는 이야기이다. 이것만 헷갈리지말자!

728x90
반응형
LIST

'JAVA의 가장 기본이 되는 내용' 카테고리의 다른 글

캡슐화  (0) 2024.03.26
Class 레벨의 접근제어자  (0) 2024.03.26
생성자 - this()와 오버로딩  (0) 2024.03.26
객체 지향 프로그래밍  (0) 2024.03.26
NullPointerException  (0) 2024.03.25