패키지
- 패키지 : 자바에서 구분하기 쉽게 분류하기 위한 폴더 / 디렉토리 기능
- 패키지를 사용하는 경우 항상 코드 첫줄에 package 패키지명을 적어줘야 한다.
- 패키지를 구성할 때 서로 관련된 클래스는 하나의 패키지에 모으고 관련 없는 클래스는 다른 패키지로 분리시키는 것이 좋다.
//같은 패키지의 Data 클래스
Data data = new Data();
//다른 패키지의 Data 클래스
pack.a.Data data = new pack.a.Data();
- 같은 패키지 내 소속된 경우
- 패키지 경로를 생략해도 된다.
- 다른 패키지의 경우
- 전체 경로를 포함해서 클래스를 적어줘야한다.
package pack
//pack.b.Data 클래스 사용 가능
import pack.b.Data;
//pack.a 패키지 내 모든 클래스 사용 가능
import pack.a.*;
- 코드 첫 줄에는 package를 선언하고 다음 줄에는 import를 사용할 수 있다.
- import 사용 시 다른 패키지 내 클래스를 사용할 수 있다.
- import를 사용하는 경우 전체 경로를 적어주지 않아도 된다.
- import 시점에 * 사용 시 해당 패키지 내 모든 클래스를 사용할 수 있다.
- 하위 패키지까지 모두 가져올 수는 없다.
- 패키지마다 import를 해줘야한다.
- 클래스 명이 같아도 패키지가 다르면 같은 이름을 사용할 수 있다.
- 다른 패키지의 같은 클래스명을 가진 클래스를 모두 사용하고 싶을때 어떻게 할까?
package pack;
import pack.a.User;
public class PackageMain3 {
public static void main(String[] args) {
User userA = new User();
pack.b.User userB = new pack.b.User();
}
}
- 하나의 클래스를 import 했다면 나머지 이름이 같은 클래스는 전체 경로를 모두 적어줘야 한다.
- 이런 경우 보통 많이 사용하는 클래스를 import 해준다.
- 패키지 규칙
- 패키지 명과 위치는 폴더(디렉토리) 위치와 무조건 같아야 한다!!
- 패키지 명은 모두 소문자를 사용한다. (관례)
- 패키지명 앞 부분에는 일반적으로 회사 도메인 이름을 거꾸로 사용한다. (관례)
- ex) com.google.myapp
- 많은 외부 라이브러리 사용 시 같은 패키지 내 같은 클래스 명이 겹치는 것을 방지하기 위함.
- 패키지 계층 구조
- 패키지가 계층 구조를 이루더라도 모든 패키지는 서로 다른 패키지다.
- a
a > b
a > c 3개의 패키지로 계층을 이룰 때- a, a.b, a.c 총 3개의 패키지가 존재한다.
- a 와 a.b, a.c 패키지는 서로 완전히 다른 패키지로 인식된다.
- a 패키지에서 a.b 패키지의 클래스가 필요하면 import를 해줘야한다.
출처 : [인프런 김영한 실전 자바 - 기본편]
김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런
김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문
www.inflearn.com
'Java > [인프런 김영한 실전 자바 - 기본편]' 카테고리의 다른 글
[인프런 김영한 실전 자바 - 기본편] 자바 메모리 구조와 static (0) | 2024.07.16 |
---|---|
[인프런 김영한 실전 자바 - 기본편] 접근 제어자 (0) | 2024.07.16 |
[인프런 김영한 실전 자바 - 기본편] 생성자 (0) | 2024.07.15 |
[인프런 김영한 실전 자바 - 기본편] 객체 지향 프로그래밍 (0) | 2024.07.15 |
[인프런 김영한 실전 자바 - 기본편] 기본형과 참조형 (0) | 2024.07.15 |