2. 패키지와 라이브러리
2-1. java package
- 패키지 -> 클래스에 대한 묶음 단위
- 클래스를 용도별이나, 기능별로 그룹화 한 것을 말한다.
소스코드는 폴더로 분류된 형태로 존재하게 된다.
- 서로 다른 패키지에 속해 있다면 다른 클래스와 이름이 동일하더라도 충돌이 발생하지 않는다.
(서로다른 폴더에는 이름이 같은 파일들이 존재할 수 있다.)
- 패키지에 소속된 클래스 파일은 첫 번째 라인에서 자신이 소속된 클래스 패키지 이름을 선언해야 한다.
3. ClassPath
3-1 . ClassPath란
- 컴파일이 완료된 *.class 파일들이 위치 하는경로
4. 라이브러리
4-1. 라이브러리
- 한개 이상의 패키지들을 배포하기 용이하도록 압축한 형태
- 다른 프로그램에서 라이브러리 안에 포함된 기능을 활욜할 수 있다.
- *.jar
package com.it.packagestudy;
import com.it.study.Article;
public class Main01 {
public static void main(String[] args) {
Article article = new Article(1, "test", "test");
}
}
package com.it.study;
public class Article {
private static int count = 0;
private static String category;
private int num;
private String title;
private String regDate;
public Article(int num, String title, String regDate) {
super();
this.num = num;
this.title = title;
this.regDate = regDate;
count++;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getRegDate() {
return regDate;
}
public void setRegDate(String regDate) {
this.regDate = regDate;
}
public static int getCount() {
return count;
}
public static void setCount(int count) {
Article.count = count;
}
public static String getCategory() {
return category;
}
public static void setCategory(String category) {
Article.category = category;
}
@Override
public String toString() {
return "글 분류 = " + category
+ ", 전체 글 수" + count
+ ", Article [num=" + num
+ ", title=" + title
+ ", regDate=" + regDate + "]";
}
}
package com.it.study.helper;
public class Util {
private static Util random;
public static Util getInstance() {
if(random == null) {
random = new Util();
}
return random;
}
public static void freeInstance() {
random = null;
}
private Util() {
}
public int random( int min, int max ) {
int number =
(int)((Math.random() * (max - min +1)) + min);
return number;
}
}