반응형
이번 글에서는 여러 패키지에 동일한 이름을 가진 클래스를 사용할 때
import 구문을 활용해 클래스를 가져오는 방법과,
패키지 경로를 직접 명시하는 방법을 학습합니다.
패키지를 나누어 관리하면 코드가 깔끔해지고 충돌을 방지할 수 있습니다.
📌 클래스 코드 (Car.java)
package ch06.sec12.hyundai;
import ch06.sec12.hankook.SnowTire;
import ch06.sec12.kumho.AllSeasonTire;
public class Car {
ch06.sec12.hankook.Tire t1 = new ch06.sec12.hankook.Tire();
ch06.sec12.kumho.Tire t2 = new ch06.sec12.kumho.Tire();
SnowTire t3 = new SnowTire();
AllSeasonTire t4 = new AllSeasonTire();
}
💬 코드 설명
- package ch06.sec12.hyundai;
→ Car 클래스가 hyundai 패키지에 속해 있다는 선언 - import ch06.sec12.hankook.SnowTire;
→ SnowTire 클래스를 별도의 패키지에서 가져옴 (짧게 사용 가능) - import ch06.sec12.kumho.AllSeasonTire;
→ AllSeasonTire 클래스를 가져옴 - ch06.sec12.hankook.Tire / ch06.sec12.kumho.Tire
→ 서로 다른 패키지에 동일한 이름(Tire)이 존재하므로 패키지명을 직접 명시하여 구분 - SnowTire, AllSeasonTire
→ import 덕분에 패키지명 없이 클래스명만 사용 가능
📌 간단 정리
사용 방법 | 설명 |
import 패키지명.클래스명; | 클래스를 가져와 짧게 사용 |
패키지명.클래스명 직접 지정 | 같은 이름이 여러 패키지에 있을 때 충돌 방지 |
💻 실행 흐름 요약
- Tire는 직접 패키지명을 써야 한다 (충돌 방지용)
- SnowTire, AllSeasonTire는 import로 짧게 사용 가능
- 모든 객체가 정상적으로 생성되며 패키지 구성이 깔끔하게 관리됨
💡 포인트 정리
- 패키지를 나누어 관리하면 클래스 이름 충돌을 방지할 수 있음
- 서로 다른 패키지에 같은 이름의 클래스가 있을 경우, 패키지명까지 명시해야 구분 가능
- import 구문을 활용하면 패키지명을 생략하고 클래스명만 사용할 수 있음
- 패키지 구조를 잘 설계하면 대규모 프로젝트에서도 유지보수가 쉬워짐
'프로그래밍 > JAVA' 카테고리의 다른 글
55. 클래스 상속(Inheritance) - 부모 기능을 자식 클래스에서 확장 (0) | 2025.05.02 |
---|---|
54. Getter/Setter를 이용한 캡슐화 (Encapsulation) (0) | 2025.04.29 |
53. 접근 제한자에 따른 접근 가능 범위 (public, default, private) (0) | 2025.04.29 |
51. static final로 상수(Constant) 정의하기 (0) | 2025.04.29 |
50. final 필드 - 수정 불가능한 데이터 만들기 (0) | 2025.04.29 |
49. static 메서드에서 인스턴스 멤버 사용하기 (2) | 2025.04.28 |