💻 수업정리 (2020)/자바

[5/29] java.util패키지

주다람 2020. 5. 29. 15:45

util패키지?

  • 프로그램 개발에 필요한 필수적인 참조형이 선언된 패키지이다.
  • Array, Scanner, Random, Math 등등

1. Date클래스/ Calendar클래스

  • 날짜와 시간정보를 저장할 목적의 클래스
  • date클래스는 보통 SimpleDateForamt클래스와 같이 사용한다.

 

Date클래스

String printDate=(now.getYear()+1900)+"년 "+(now.getMonth()+1)
            +"월 "+now.getDate()+"일 "+day[now.getDay()]+"요일";
  • getYear(), getMonth(), getDate(), getDay()를 이용하여 년월일요일을 받아올 수 있다.
  • 요일은 "월화수목금"을 반환하는 것이 아닌, 숫자로 반환되어지니, 월화수목금 배열을 선언하여 받아오도록 한다.

 

SimpleDateFormat클래스

  • Date인스턴스에 저장된 날짜와 시간정보에 대한 패턴정보를 저장하는 인스턴스를 생성하는 생성자 이다.
  • 패턴정보란? 패턴문자를 이용하여 구현된 문자열을 뜻한다.
  • 패턴문자 : y(year) M(month) d(date) H(24Hour) h(12hour) m(minute) s(second) E(요일) 
  • SimpleDateFormat.fromat(Date date) : date인스턴스를 전달받아 simpleDate인스턴스에 저장된 패턴의 문자열로 변환하여 반환하는 메소드

 

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
32
33
34
35
36
37
38
39
package site.itwill.util;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
//Date인스턴스 관련 기능을 제공하는 메소드
public class SimpleDateFormatApp {
    public static void main(String[] args) {
        Date now = new Date();
        
        //SimpleDateFormat(String Pattern) : Date인스턴스에 저장된 날짜와 시간정보에 대한 패턴정보를 저장하는 인스턴스를 생성하는 
        //생성자 이다.
        //패턴정보(패턴문자로 구현된 문자열) : 패턴문자를 이용하여 구현된 문자열
        //패턴 문자 : y(year) M(month) d(date) H(24Hour) h(12hour) m(minute) s(second) E(요일) 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 E요일");
        
        //SimpleDateFormat.format(Date date) : date인스턴스를 전달받아 simpleDate인스턴스에 저장된 패턴의 문자열로 변환하여 반환하는 메소드
        String date = sdf.format(now);
        System.out.println(date);
        
        sdf.applyPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(now));
    
        
        String want = "2000-01-01 00:00:00";
        //parse(String str); : SimpleFormat인스턴스와 동일한 패턴의 문자열을 전달받아 date인스턴스로 변환하여 반환
        //=>패턴에 맞지 않은 문자열을 전달할 경우 ParseException을 일으킨다
        try {
            Date wantDate = sdf.parse(want);
            System.out.println("wantDate = " + wantDate);
        } catch (ParseException e) {
            e.getMessage();
        }
        
        
    }
}
 
cs

 

 

Calendar클래스

String year = now.get(Calendar.YEAR) + "년 ";
String month = (now.get(Calendar.MONTH)+1) + "월 ";
String date = now.get(Calendar.DATE) +"일 ";
String day = (arr[now.get(Calendar.DAY_OF_WEEK)-1]) + "요일 ";
  • Calendar.YEAR....같이 Calendar인스턴스에 저장되어있는 날짜,시간정보를 접근하여 가져올 수 있다.
  • 요일은 위의 date와 마찬가지 이다.

 

2. 자료구조 클래스

  • Collection 인터페이스(Set 인터페이스, List 인터페이스, Queue 인터페이스) 또는 Map 인터페이스를 상속받아 작성된 클래스
  • 자료구조 : 정보들을 보다 효율적으로 관리(저장,변경,삭제,검색)하기 위한 기능을 제공하는 방법
  • 자료구조 클래스는 인스턴스만 저장 가능(상수 저장 불가)
  • 자료구조 클래스는 제네릭 타입이 적용된 클래스로 구현하는 것을 권장
  • 제네릭(Generic) : 참조형 작성시 필드(메소드)의 참조형 대신 사용될 식별자
  •  제네릭 식별자에 참조형 타입을 전달해야만 참조형으로 사용 가능    

 

**제네릭 

  • 필드의 자료형을 클래스(인터페이스)
  • 객체형변환을 하기 싫어서 만든 클래스라고 생각하면 된다.

 

Object(NonGeneric) Generic
저장이 쉽다(모든것이 저장이 가능하기 때문) 반환이 쉽다(전달된 클래스 하나만 사용이 가능하기 때문)