티스토리 뷰

Java

Package & Import

lkh's 2018. 9. 17. 13:52

자바를 단위로 쪼갠다고 한다면, method < class < package 순으로 나눠질 수 있다. 

method는 class없이 사용이 가능하고, 자바에서는 함수적 프로그래밍을 지원하기 때문에 가장 작은 단위! 

다음은 method를 포함하는 class, 마지막은 class들의 집합, 묶음인 package 이다. 오늘은 package 와 package 사용을 위한 import에 대해 간단히 알아보려고 한다.


1. package


package는 class들을 담고 있는 폴더이다. 같은 서비스를 제공하는 class 끼리 묶어서 관리하기 때문에 코드 배포가 편하다. 

그리고 자주 사용하는 User 클래스가 있다고 가정해보자, 로그인 package에도 User 라는 이름의 class 가 사용할 수 있고, 로그아웃애도 사용될 수 있다.

package는 서비스별로 관리되기 때문에 중복의 이름이 가능하다. package명.class명 으로 관리 (login.User, logout.User)

package 이름은 소문자로 구성하고, 주로 회사의 도메인 이름을 사용하는 것이 관례이다. 그리고 java, javax 는 이미 jdk에서 제공하는 기본 package이기 때문에 사용X


2. import


package를 사용하기 위해서는 package를 불러와야 하는데, import를 사용해야 한다. (import 패키지명)

출력을 하기 위해 사용되는 System.out.println 에서 System 이라는 class의 println 라는 method를 사용한 것이다. 하지만 해당 클래스에 대해 import를 하지 않고 사용이 가능하다.

그 이유는?! 자주 사용하는 클래스에 대해서는 자동으로 import를 해주기 때문에 바로 사용이 가능!

원래는,  java.lang.System.out.println 라고 쓰고 작성해야 한다. 불편하다! 길다! 그렇기 때문에 자동 import 를 지원해주는 것 같다!


그리고 import 문을 보면 가끔 import static org.junit.Assert.*; 와 같이 import에 static이 붙어 있는 경우가 있다.

해당 패키지에 있는 모든 클래스의 static 키워드가 붙은 모든 정적 필드, 정적 메소드를 클래스의 이름없이 바로 접근이 가능하다!

예를들어, Math.PI(3.14를 나타내는 정적필드)를 클래스의 이름없이 PI만 명시해서 바로 사용이 가능하다는 것이다!


'Java' 카테고리의 다른 글

멀티스레드  (0) 2018.10.27
예외처리2 - 사용자 정의 예외 클래스 생성  (0) 2018.10.04
예외처리1 - 오류와 예외  (0) 2018.10.04
Java equals() & hashCode()  (3) 2018.10.04
자바 가상 기계 (JVM) 정의 및 구조  (0) 2018.09.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함