Package

Mia Lee·2021년 12월 7일
0

JAVA

목록 보기
62/98
package ex_package;

import com.lg.tv.*;

// com.lg.tv 패키지를 소스코드에 포함시키기 위한 import 문 작성
//import com.lg.tv.Tv;
//import com.lg.tv.*;

public class Ex1 {

	public static void main(String[] args) {

		/*
		 * [ 패키지(Package) 및 package 문]
		 * - 패키지명은 보통 각 회사의 도메인 이름을 사용하며
		 *   도메인 이름을 상위도메인부터 역순으로 나열하여 지정
		 *   (ex. samsung.com 일 경우 com.samsung으로 지정
		 *        itwillbs.co.kr 일 경우 kr.co.itwillbs로 지정)
		 * - 특정 클래스의 이름을 나타내는 기본적인 규칙은
		 *   "패키지명.클래스명"의 형태로 지정하는 것이 기본이나
		 *   현재 패키지 내에 중복되는 클래스가 없을 경우 패키지명 생략 가능
		 *   
		 * < 기본 문법 >
		 * package 상위패키지명.하위패키지명;
		 * 
		 * [ import 문]
		 * 
		 * - 자동 import 단축키 : Ctrl + Shift + o
		 * 
		 * < 기본 문법 >
		 * import 상위패키지명.하위패키지명.클래스명; 또는
		 * import 상위패키지명.하위패키지명.*;
		 */
		
		// 원래 사용하던 클래스 지정 방식(패키지명을 생략하고 사용)
		String str = "홍길동";
		
		// 실제 String 클래스를 지정하는 정석적인 방법
		// => java.lang 패키지 내에 위치하므로
		java.lang.String str2 = "홍길동";
		
		// com.lg.tv 패키지의 Tv 클래스 지정하여 객체 생성
//		com.lg.tv.Tv tv = new com.lg.tv.Tv();
		
		// com.lg.tv 패키지명을 생략하기 위해서는
		// 해당 패키지를 improt 문을 통해 현재 소스에 포함시켜야함
		Tv tv = new Tv();
		
		// com.samsung.tv 패키지 내의 Tv 클래스 사용해야하는 경우
		// => 이미 com.lg.tv 패키지의 Tv 클래스가 import 되어 있으므로
		//    다른 패키지의 Tv 클래스는 패키지명을 포함해서 지정해야함
		//    (동일한 클래스를 improt 할 수 없다!)
		com.samsung.tv.Tv tv2 = new com.samsung.tv.Tv();
		
		// import 문을 사용하여 "com.lg.tv.Tv" 위리츨 지정했을 경우
		LgTv lgTv = new LgTv(); // 사용 불가능(위치를 모르기 때문)
		// => 해결책 : import 문을 추가하거나 tv.*로 변경해야한다.
		
		
	}

}









0개의 댓글