Chapter 8. Useful Classes II
1. Fomatting Class
- 숫자, 날짜, Text Data를 일정한 형식에 맞게 표현할 수 있는 방법을 객체지향적으로 설계하여 표준화한 Class
- 특징
· java.text Package에 포함되어 있다.
· 형식화하는 방법을 표준화하는 것에 중점을 두어 작성되었기 때문에 기능을 유연하게 확장할 수 있도록 설계되어 있어 용도에 맞춰 다양하게 적용될 수 있다.
· 원하는 형식으로 표현 또는 변환하기 위해 Pattern을 정의한다.
- DecimalFormat
· 숫자를 형식화 하는데 사용되는 자식 Class
· 사용되는 Pattern
Pattern | Explain |
0 | 10진수(값이 없을 때는 0) |
# | 10진수 |
. | 소수점 |
- | 음수부호 |
, | 단위 구분자 |
E | 지수기호 |
; | Pattern 구분자 |
% | Percent |
\u2030 | Permil(Percent × 10) |
\u00A4 | 통화 |
' | Escape 문자 |
- SimpleDateFormat
· 날짜를 Date나 Calendar를 사용해 연산한 후 출력할 때 사용하는 Class
· 사용되는 Pattern
Pattern | Explain |
G | 연대(BC, AD) |
y | 년도 |
M | 월(1~12 또는 1월~12월) |
w | 년의 몇 번째 주(1~53) |
W | 월의 몇 번째 주(1~5) |
D | 년의 몇 번째 일(1~366) |
d | 월의 몇 번째 일(1~31) |
F | 월의 몇 번째 요일(1~5) |
E | 요일 |
a | 오전/오후(AM/PM) |
H | 시간(0~23) |
k | 시간(1~24) |
K | 시간(0~11) |
h | 시간(1~12) |
m | 분(0~59) |
s | 초(0~59) |
S | 천분의 일초(0~999) |
z | Time zone(General time zone) |
Z | Time zone(RFC 822 time zone) |
' | escape 문자(특수문자를 표현하는데 사용) |
- ChoiceFormat
· 특정 번위에 속하는 값을 문자열로 반환해주는 Class
· 연속적 또는 불연속적인 범위의 값들을 처리하는데 있어 조건문(if, switch)가 적절하지 못한 경우에 간단하고 직관적인 Code를 작성하기 위해 사용된다.
- MessageFormat
· Data를 정해진 양식에 맞게 출력할 수 있도록 해주는 Class
· Data가 들어갈 자리를 마련해 놓은 양식을 미리 작성하고 Program을 이용해서 다수의 Data를 같은 양식으로 출력할 때 주로 사용된다.
2. Generics
- 다양한 Type의 객체를 다루는 Method나 Collection Class에 Compile-time Type Check를 해주는 기능
- 특징
· Type 안정성을 제공
· Type Check와 형변환을 생략할 수 있으므로 Code가 간결해 진다.
- 문법
1 2 3 | [Class Name]<T> [Class Name]<E> [Class Name]<K> | cs |
· Class 명 뒤에 Type의 T 또는 Element의 E 또는 Key의 K를 <>안에 넣어 붙여준다.
- ArrayList<E>
ArrayList<저장할 객체의 Type> ArrList = new ArrayList<저장할 객체의 Type>();
· ArrayList Class에 Element 참조형 Type으로 Generics 기능을 추가한 것
· Example
1 2 3 | ArrayList<Tv> tvList = new ArrayList<Tv>(); tvList.add(new Tv()); Tv t = tvList.get(0); //Tv t = (Tv)tvList.get(0); | cs |
- Iterator<E>
1 2 3 4 5 | public interface Iterator<E> { boolean hasNext(); E next(); void remove(); } | cs |
· Iterator Class에 Element 참조형 Type으로 Generics 기능을 추가한 것
· 적용 예
Generics 적용하지 않을 시
| Generice 적용 시
|
- Comparable<T>
· Comparable Class를 Type 참조형 Type으로 Generics 기능을 추가한 것
- HashMap<K,V>
1 2 3 4 5 6 7 | public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { ...... public V get(Object key) { ...... } public V put(K key, V value) { ...... } public V remove(Object key) { ...... } ...... } | cs |
· HashMap처럼 Dat를 Key와 Value의 형태로 저장하는 Collection Class는 지정해줘야 할 Type이 두 개이기 때문에 K, V 참조형 Type으로 Generics 기능을 추가한다.
'Java > Theory' 카테고리의 다른 글
Chapter 10. AWT & Applet (0) | 2015.09.05 |
---|---|
Chapter 9. Thread (0) | 2015.08.22 |
Chapter 7. Useful Classes I (0) | 2015.08.19 |
Chapter 6. Collection Framework (0) | 2015.08.19 |
Chapter 5. Inner Class (0) | 2015.08.19 |