본문 바로가기

BackEnd/Java

[java] 이것이 자바다 ch06 패키지

728x90
반응형

1. 자바의 패키지

   ▷ 클래스의 일부분이며, 클래스를 식별하는 용도입니다.

   ▷ 패키지는 주로 개발 회사의 도메인 이름의 역순으로 만듭니다.

   ▷ 상위 패키지와 하위 패키지를 도트(.)로 구분합니다.

   ▷ 패키지에 속한 바이트코드 파일(~.class)은 따로 떼어내서 다른 디렉토리로 이동할 수 없습니다.

 

◎ 패키지 선언

   ▷ 패키지 선언은 package 키워드와 함께 패키지 이름을 기술한 것입니다. 항상 소스 파일 최상단에 위치합니다.

   ▷ 패키지 이름은 모두 소문자로 작성합니다.

   ▷ 패키지 이름이 서로 중복되지 않도록 회사 도메인 이름의 역순으로 작성하고, 마지막에는 프로젝트 이름을 붙여줍니다.

 

◎ import문

   ▷ 다른 패키지에 있는 클래스를 사용하려면 import문을 이용해서 어떤 패키지의 클래스를 사용하는지 명시합니다.

   ▷ import 문은 패키지 선언과 클래스 선언 사이에 작성합니다.

   ▷ imprt 키워드 뒤에는 사용하고자 하는 클래스의 전체 이름을 기술합니다.

 

package com.hankook;
public class Tire{}

package com.kumho;
public class Tire{}



// 다른 프로그램

package com.hyundai;

import com.hankook.*;
import com.kumho.*;

// 에러 발생
Tire tire = new Tire();

// package명을 정확하게 적어주면 에러 발생 없음
com.hankook.Tire tire = new com.hankook.Tire();

 

 

1. com.hyundai 패키지/ Car 클래스
package com.hyundai;

import com.hankook.SnowTire;
import com.kumho.AllSeasonTire;

public class Car {
	// 부품 필드 선언
	com.hankook.Tire tire1 = new com.hankook.Tire();
	com.kumho.Tire tire2 = new com.kumho.Tire();
	
	SnowTire tire3 = new SnowTire();
	AllSeasonTire tire4 = new AllSeasonTire();
}​


2. com.kumho 패키지
 (1) AllSeasonTire 클래스
package com.kumho;

public class AllSeasonTire {
}​

 (2) Tire 클래스
package com.kumho;

public class Tire {
}​


3. com.hankook 패키지

 (1) SnowTire 클래스

package com.hankook;

public class SnowTire {
}​


 (2) Tire 클래스

package com.hankook;

public class Tire {
}​

 

위와 같이 연결하면 다른 패키지의 파일을 불러올 수 있습니다!

 

앞으로 패키지 연결할 때 다음과 같은 원리들을 이용하면 되겠어요!

 

많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~

 

728x90
반응형

'BackEnd > Java' 카테고리의 다른 글

[java] class  (1) 2023.01.12
[java] 이것이 자바다 ch06 singleton(싱글톤) 패턴  (1) 2023.01.12
[java] Getter와 Setter  (1) 2023.01.11
[java] 접근 제한자  (0) 2023.01.11
[java] 이것이 자바다 ch06 fianl 필드와 상수  (0) 2023.01.11