Download presentation
Presentation is loading. Please wait.
1
[INA470] Java Programming Youn-Hee Han http://link.kut.ac.kr
13. 패키지 [INA470] Java Programming Youn-Hee Han
2
1. 패키지의 생성 패키지(package)란? 기본적으로 제공되는 라이브러리는 패키지로 묶여있다.
패키지를 종류별로 그룹화하여 묶어놓은 것 기본적으로 제공되는 라이브러리는 패키지로 묶여있다. java.lang 패키지 – 필수 클래스들의 묶음 java.net 패키지– 네트워크 관련 클래스들의 묶음 java.io 패키지 – 입력 및 출력과 관련된 클래스들의 묶음 java.util 패키지 – 유틸리티 관련 클래스들의 묶음 …
3
1. 패키지의 생성 패키지의 장점 관련된 클래스들을 쉽게 파악 원하는 클래스들을 쉽게 찾을 수 있다.
패키지마다 이름 공간을 따로 갖기 때문에 같은 클래스 이름을 여러 패키지가 사용 패키지별로 접근에 제약을 가할 수 있다.
4
Order 라는 클래스는 business 패키지에 속하게 된다.
1. 패키지의 생성 패키지 생성 package 문을 사용하지 않으면 해당 클래스는 디폴트 패키지 (Default Package)에 속하게 된다. 디폴트 패키지 이름이 없는 패키지로서 임시적인 프로그램을 작성할 경우 사용하는 패키지 package business; // 패키지 선언 public class Order { ... } Order 라는 클래스는 business 패키지에 속하게 된다.
5
1. 패키지의 생성 패키지 이름 관례 “회사이름.부서이름.프로젝트이름” 패키지의 이름에는 소문자만을 사용
kut.ime.javaprogramming 패키지의 이름에는 소문자만을 사용 인터넷 도메인 이름을 역순으로 사용하기도 한다. 예를 들면 com.company.test라는 패키지 이름은 도메인 이름 company.com에서의 test라는 프로젝트를 의미한다. Sun사에서 제공하는 자바 라이브러리는 java나 javax로 시작
6
1. 패키지의 생성 [추천 1] 소스 파일과 클래스 파일을 한 위치에 두기 package 문이 없다면 어디에 있든지 상관없음
기반 디렉토리: 작업 디렉토리이며 cmd 창에서 현재 위치 컴파일 방법 실행 방법 package business; public class Order { ... } c:(기반 디렉토리)>javac business\Order.java c:(기반 디렉토리)>java business.Order
7
1. 패키지의 생성 [추천 2]스저장 폴더와 클래스 저장 폴더의 분리
소스 파일 경로 (소스 파일 기본 폴더 c:\sources) business 패키지의 Order.java가 위치해야할 곳 c:\sources\business\Order.java 클래스 파일이 위치해야 할 폴더 (클래스 기본 폴더 c:\classes) business 패키지의 Order 클래스가 위치해야할 곳 c:\classes\business\Order.class 컴파일 방법 우선, cmd 창에서 소스 파일이 있는 곳으로 위치 명령어 만약 c:\sources 에서 실행한다면 javac -d c:\classes Order.java javac -d c:\classes business\Order.java
8
1. 패키지의 생성 클래스 경로 (Class Path) 두 가지 방법 존재 클래스 탐색 순서
컴파일러나 자바 가상 기계가 클래스 파일을 찾는 경로 두 가지 방법 존재 클래스 탐색 순서 위와 같은 클래스 경로가 지정된 이후 business.Order 클래스 탐색 순서 (줄여서 -cp 옵션도 가능)
9
1. 패키지의 생성 JAR (Java Archive) 파일 외부에서 받은 JAR 파일 사용방법
여러 개의 클래스 파일을 압축하여서 가지고 있는 파일 일반적으로 라이브러리를 제공하는 형태 외부에서 받은 JAR 파일 사용방법 클래스 경로에 해당 JAR 파일(test.jar)을 다음과 같이 포함 set CLASSPATH=C:\classes;C:\lib;C:\test.jar;. java -cp C:\classes;C:\lib;C:\test.jar;. business.Order
10
2. 패키지 사용 패키지를 사용하는 방법 클래스에 패키지 이름을 붙여서 참조한다. 개별 클래스를 import한다.
Fully-qualified Name (완전한 이름) business.Order myOrder = new business.Order(); import business.Order; // business 패키지 안의 Order 클래스 포함 … Order myOrder = new Order(); [추천] import business.*; // 패키지 전체 포함 … Order myOrder = new Order(); Customer myCustomer = new Customer();
11
2. 패키지 사용 주의할 점 Q: import java.awt.* 문장은 java.awt.font 패키지를 포함하는가? A: java.awt.font 패키지는 java.awt 패키지 안에 포함되지 않는다. 만약 java.awt.font의 멤버와 java.awt의 멤버를 동시에 사용하려면 다음과 같이 따로 따로 포함하여야 한다. import java.awt.*; import java.awt.font.*;
12
2. 패키지 사용 두 패키지에 같은 이름의 클래스가 존재할 경우
Fully-qualified Name (완전한 이름) 을 사용해야 한다. 예를 들어 2 개의 패키지 A 와 B가 존재하고 각각 Order 라는 클래스를 가지고 있다면 다음과 같이 완전한 이름을 사용해야 한다. import A; import B; … A.Order o1 = new A.Order(); B.Order o1 = new B.Order();
Similar presentations