그림[자바 패키지]
BR>
관련 있는 클래스 또는 인터페이스들을 묶어서 패키지라고 하고 윈도우 폴더처럼 같은 패키지의 클래스는 같은 폴더에 있다.
자바프로그램이 패키지로 정의되어 있다면 그 프로그램은 반드시 패키지로 정한 폴더 내부에 있어야 한다.
클래스를 패키지 이름과 함께 계층적인 형태로 사용함 으로서 다른 그룹에 속한 클래스와 발생 할 수 있는 이름 충돌 방지한다. (서로 다른 패키지라도 같은 이름의 클래스 존재 가능, java.util.Date, java.sql.Date)
name space 부여(닷넷에서는 네임스페이스라고 하죠 )
자바에서 사용되는 API들은 대부분 package화 되어 제공되며 개발자는 이 패키지내의 클래스들을 import하여 이용할 수 있다.
클래스의 이름은 기본적으로 Package이름.클래스이름 이다.
패키지내의 클래스와 인터페이스를 사용하기 위해서는 패키지이름을 명시하거나 import 문장을 이용하여 package 이름을 생략하여 클래스, 인터페이스 이름만 사용할 수 있다.
특정 클래스만 import 하는 경우 : import java.util.Date;
패키지 내의 모든 클래스를 import하는 경우 : import java.util.*;
import 하는 경우 부 패키지는 import 되지 않는다.(해당 폴더의 클래스만 임포트되고 하위 폴더의 클래스는 임포트 안됨)
(java.awt, java.awt.event)
(java.awt, java.awt.event)
패키지 이름이 생략된 클래스, 인터페이스 이름을 컴파일러가 import 문장을 참조하여 패키지이름이 포함된 인터페이스나 클래스 이름으로 변환한다.
컴파일시 자바 컴파일러는 소스코드의 첫문장으로 import java.lang;이 자동 삽입된다.(그래서 System 클래스를 별도 임포트없이 사용했다.)
주로 domain 이름을 거꾸로 하여 사용하는 것이 관례다.
[예제]
import java.util.Date;
import java.util.Random;
// import java.util.*; // 위의 두 import문 대신 사용할 수 있지만 해당 패키지의 모든 클래스가 로드되므로 비추
// import java.lang.*; // 자바 컴파일러에 의해 자동 삽입된다.
import java.util.Random;
// import java.util.*; // 위의 두 import문 대신 사용할 수 있지만 해당 패키지의 모든 클래스가 로드되므로 비추
// import java.lang.*; // 자바 컴파일러에 의해 자동 삽입된다.
class ImplicitPack {
public static void main(String[] args) {
//컴파일하면 자동으로 클래스이름압ㅍ에 패키지명을 삽입한다.
//java.lang.System.out.println(new java.util.Date());
System.out.println(new Date());
public static void main(String[] args) {
//컴파일하면 자동으로 클래스이름압ㅍ에 패키지명을 삽입한다.
//java.lang.System.out.println(new java.util.Date());
System.out.println(new Date());
System.out.println(new Random().nextInt());
}
}
}
}
오라클자바커뮤니티 오프라인 교육센터, 개발자 전문교육, 개인80%환급 www.oraclejavacommunity.com
평일주간(9:30~18:20) 개강
(5/21)[교육전취업확정]Spring,MyBatis,XPlatform실무프로젝트과정
(5/26)SQL초보에서실전전문가까지
(5/26)안드로이드개발자과정
(5/26)C#4.0,ADO.NET,Network 프로그래밍
(5/26)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(5/27)JAVA,ORACLE 실무개발자과정
(5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(6/09)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
평일야간(19:00~21:50) 개강
(5/21)Spring3.X, MyBatis, Hibernate실무과정
(5/21)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/22)안드로이드개발자과정
(5/22)C#,ASP.NET마스터
(5/23)SQL초보에서실전전문가까지
(5/26)웹퍼블리싱 마스터
(5/29)JAVA&WEB프레임워크실무과정
주말(10:00~17:50) 개강
(5/24)Spring3.X, MyBatis, Hibernate실무과정
(5/24)C#,ASP.NET마스터
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/24)안드로이드개발자과정
(5/24)SQL초보에서실전전문가까지
(5/24)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
주말저녁(18:30~22:20) 개강
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
평일주간(9:30~18:20) 개강
(5/21)[교육전취업확정]Spring,MyBatis,XPlatform실무프로젝트과정
(5/26)SQL초보에서실전전문가까지
(5/26)안드로이드개발자과정
(5/26)C#4.0,ADO.NET,Network 프로그래밍
(5/26)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(5/27)JAVA,ORACLE 실무개발자과정
(5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(6/09)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
평일야간(19:00~21:50) 개강
(5/21)Spring3.X, MyBatis, Hibernate실무과정
(5/21)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/22)안드로이드개발자과정
(5/22)C#,ASP.NET마스터
(5/23)SQL초보에서실전전문가까지
(5/26)웹퍼블리싱 마스터
(5/29)JAVA&WEB프레임워크실무과정
주말(10:00~17:50) 개강
(5/24)Spring3.X, MyBatis, Hibernate실무과정
(5/24)C#,ASP.NET마스터
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/24)안드로이드개발자과정
(5/24)SQL초보에서실전전문가까지
(5/24)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
주말저녁(18:30~22:20) 개강
(5/24)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
댓글 없음:
댓글 쓰기