패키지는 class를 기능별로 묶어서 그룹의 이름을 붙인 것이다.
상위패키지.하위패키지.클래스로 이루어진 클래스의 이름의 일부분이기도 한데,
이 때문에 클래스의 이름이 같더라도 패키지의 이름이 다르다면 다른 클래스로 취급된다.
클래스는 선언할 때 패키지를 결정하는데, (package packageName) 결정한 클래스와 다른 패키지(폴더) 안에 넣으면 실행되지 않는다
다른 패키지에 있는 클래스를 사용하는 경우 두 가지 방법이 존재한다.
첫 번째 방법은 패키지 명이 포함된 전체 클래스 이름으로 사용한다.
java.util.Scanner sc = new java.util.Scanner(System.in);
이런 식으로 인스턴스를 만들어서 사용해도 돼지만, 사용하려는 것이 정적 필드/메서드라면 인스턴스 생성 없이 사용해도 된다.
두 번째 방법은 import문을 사용하여 패키지를 사용하는 것이다.
패키지 선언과 클래스 선언 사이에 import 상위패키지.하위패키지.클래스; 로 패키지를 지정한다.
ex) impoert java.util.Scanner();
Scanner sc = new Scnaner(Sytem.in);
사용하려는 패키지가 여러개인 경우 클래스별로 import 하는 대신 import.패키지명.*; 을 사용하면 해당 패키지의 모든 클래스를 사용 가능하다.
이 경우 import로 지정된 패키지의 하위 패키지는 import 대상이 아니므로, 사용하고자 한다면 따로 import 해주어야 한다.
서로 다른 패키지에 동일한 이름의 클래스가 있는 경우, import문을 사용하였더라도 패키지 이름 전체를 사용해서 기술해야 한다.
'생각 두 접시' 카테고리의 다른 글
[java] Getter / Setter (0) | 2024.05.31 |
---|---|
[java] 접근 제한자 (0) | 2024.05.31 |
중복 요소 제거와 특정 키를 기준으로 오름차순 정렬하기 (0) | 2024.03.20 |
static에 관하여 (0) | 2024.03.20 |
c#의 빠른 입출력 (0) | 2024.03.20 |