* 패키지 : 클래스들을 묶은것.
패키지의 장점
-관련된 클래스들을 쉽게 파악.
-원하는클래스들을 쉽게 찾을 수 있다.
-패키지 마다 이름 공간을 따로 갖기때문에 같은 클래스의 이름을 여러 패키지가 사용.
패키지 생성방법
pakage animal; // 클래스 위에 선언!
public class Dog{}
이클립스 에서는 프로잭트 생성 후 마우스 오른쪽 클릭 한후 new 에서 pakage 생성 하면됨.
생성한 pakage에다 원하는 클래스명들을 만들어서 넣고.
pakage 안에 pakage를 만들 수 있다.
ex) 위에 animal 패키지 안에 test패키지를 만들려면 animal 패키지에서 마우스 오른쪽 클릭 하면 animal 이라고 작성이 되있다 이름을 animal.test 라고 작성해주면 된다.
ex)package animal.test; //우리가 방금 만든 클래스는 animal.test 에 속하는 Test클래스
//import animal.Animal;
//import animal.Cat;
//import animal.Animal; // 2. 요런 풀패키지명을 가진 클래스를 같은 패키지 인것 마냥 쓰겠다.
import animal.*; // 3. animal 패키지의 모든 클래스들을 같은 패키지에 있는 마냥 쓰고싶다.
public class Test { // << 얘의 풀패키지명은 : animal.test.Test
public static void main(String[] args) {
// TODO Auto-generated method stub
//다른 클래스를 사용하고자 할때 그아이가 같은 패키지 있으면 괜찮다.
//다른 패키지에 있으면 풀패키지명으로 클래스를 사용하든가
//패키지안의 전체 클래스를 import하든가
//특정 클래스를 풀패키지명으로 import 하든가.
//풀패키지명 : 최상위 패키지로부터 클래스명까지 모두 적은 이름.
//Animal클래스를 사용하고 싶다.
//우리가 쓰려는 Animal클래스의 풀패키지명은 animal.Animal
//방법 1. 항상 풀패키지명으로 불러줌
// animal.Animal aaa = new Animal() {
//
// @Override
// public void bark() {
// // TODO Auto-generated method stub
// System.out.println("동물이 짖음");
// }
// };
//방법2. 풀패키지명으로 클래스 자체를 import
// Animal aaa = new Animal();
//방법3.
Animal aaa = new Cat();
시스템 클래스
String a = "A" + "B" + "C" + "D";
StringBuffer sb = new StringBuffer();
sb.append("A");
sb.append("B");
sb.append("C");
sb.append("D");
String b = sb.toString();
//문자열 결합연산을 연속적으로 하게 되면 중간중간 결합된 결과물들이 상수메모리에 쌓임(메모리 낭비 극심)
//StringBuffer 를 사용하면 최종 toString이 불릴때 한번에 모두 결합된 결과물이 만들어짐.
* StringBuffer 와 StringBuilder 의 차이점은 버퍼는 멀티스레드 상태에서 동기화를 지원한다.
빌더는 싱글 스레드 상황이라면 빌더를 이용하면 더빠르게 할 수 있다.
// System.out.println("숫자를 하나 입력하세요 0을 입력하면 종료됨");
// int num = new Scanner(System.in).nextInt();
// if(num == 0)
// System.exit(0); // 0을 입력하면 이코드를 만나서 바로 뻗음.
// else
// System.out.println(num + "을 입력하셨군요");
// System.out.println(System.currentTimeMillis());
//currentTimeMillis 어떤 코드 범위가 실행되는데 걸린 시간을 테스트.
// long startTime = System.currentTimeMillis(); // 프로그램 실행 하는 순간의 시간(ms)!
//
// System.out.println("HelloWorld");
//
// long endTime = System.currentTimeMillis();
//
// long gop = endTime - startTime;
//
// System.out.println(gop + "ms 소요됨");
*Wrapper 클래스
-기초 자료형을 객체로 포장시켜주는 클래스.
기초 자료형 → 문자형
String s1 = integer.toString(10); // 기초 자료형 정수타입 10을 문자열로 바꿔줌.
문자열 → 기초 자료형 ex)
Scanner scan = new Scanner(System.in);
System.out.println("숫자 입력하세요.");
String num1 = scan.nextLine(); // 입력 받은 숫자는 문자열
System.out.println("숫자 입력하세여");
String num2 = scan.nextLine(); //입력 받은 숫자는 문자열
int result = Integer.parseInt(num1) + Integer.parseInt(num2); // 여기서 문자열을 기초 자료형으로 바꿔주고 계산 해줌.
System.out.println(result);
주석 : // 한줄 주석 /*~~~*/ 문단주석
/**~~*/ javadoc 생성해주는 주석.
ex)
/**
*
*
*
* @author student
*이프로그렘은 동물들의 공통된 상태로서 이름과
*동물들의 공통된 기능으로서의 짖음 기능인 bark()메소드를 가지고 있는 클래스.
*/
public abstract class Animal {
protected String name;
- 메소드에도 주석을 달고 javadoc 을 생성할 수 있다.
*Date 클래스
long current = System.currentTimeMillis(); // 실행 동시에 현재 시스템에서 현재 시간(ms).
// Date date = new Date(current);
// System.out.println(date);
//
// long timeMillis = date.getTime();
// System.out.println(timeMillis);
//
//
// //날짜데이터 객체에 대해서 자주 해야되는 변환
// //Date객체 ↔ timeMillis
// //Date객체 ↔ formatted Date
// long current = System.currentTimeMillis();
// Date date = new Date(current);
// System.out.println(date);
//
// long timeMillis = date.getTime();
// System.out.println(timeMillis);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
// Date date1 = sdf.parse("20150923033320");
// System.out.println(date1);
//
// System.out.println(sdf.format(date));
// //y : 연도 M : 월 d: 일 h: 시(12시간제) H : 시(24시간) m : 분 s: 초
*StringTokenizer 클래스
-문자열을 분리하여서 토큰으로 분리시켜 주는 기능을 제공.
ex)
StringTokenizer st = new StringTokenizer("Will Java change my lif");
while (st.hasMoreTokens()){
System.out.println(st.nextToken());
} →→→→ 결과값은 will
Java
change
my
life
'[JAVA]' 카테고리의 다른 글
[JAVA]9월 25일 제네릭, 컬렉션, (0) | 2015.09.25 |
---|---|
[JAVA]9월 24일 예외처리, 예외의 종류, 정규 표현식, Pattern클래스 (0) | 2015.09.24 |
[JAVA]9월 22일 내부 클래스, 무명클래스 (0) | 2015.09.22 |
[JAVA]9월 21일 다형성, 동적 바인딩, 추상클래스, 다중상속 (0) | 2015.09.21 |
[JAVA]9월 18일 상속, 부모클래스, 자식클래스, Singleton패턴 (0) | 2015.09.18 |