본문 바로가기

반응형

이번 글에서는 여러 패키지에 동일한 이름을 가진 클래스를 사용할 때
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 구문을 활용하면 패키지명을 생략하고 클래스명만 사용할 수 있음
  • 패키지 구조를 잘 설계하면 대규모 프로젝트에서도 유지보수가 쉬워짐
댓글