728x90
반응형
* Wapper 클래스 개념
사실 이름이 Wrapper인 클래스는 존재하지 않는다. 다만, int, char, double 등 8개의 기본 타입을 객체로 다루기 위해 JDK에 만들어진 8개 클래스를 통칭하여 Wrapper 클래스라 한다.


용도
1) 기본형을 참조형으로 포장한 포장 클래스
2) 객체 형태가 되어야만 사용할 수 있는 컬렉션 등에 사용하기 위하여 필요함
ex) Wrapper 객체는 기본 타입의 값을 인자로 하여 정적 메소드인 valueof()를 호출하여 생성
Integer i = Integer.valueOf(10); // 정수 10을 객체화
Character c = Character.valueOf('c'); // 문자 'c'를 객체화
Double d = Double.valueOf(3.14); // 실수 3.14를 객체화
Boolean b = Boolean.valueOf(true); // 불린 값 true의 객체화
// Character를 제외한 나머지 Wrapper 클래스의 경우, 문자열로 객체를 생성할 수도 있다.
Integer i = Integer.valueOf("10");
Double d = Double.valueOf("3.14);
// 문자열로 객체 생성
* Wrapper 클래스는 많은 메소드를 제공하나, 대부분은 기본 타입 값을 문자열로 변환하거나, 문자열을 기본 타입 값으로 변환하는 것들이 주를 이루고 있다. (기본 타입 -> 문자열, 문자열 -> 기본 타입)
ex) 가장 많이 사용되는 Integer 클래스의 주요 메소드 (많은 메소드가 static 타입이다)
메소드 | 설명 |
static int bitCount(int i) | 정수 i의 이진수 표현에서 1의 개수 리턴 |
float floatValue() | float 타입으로 값 리턴 |
int intValue() | int 타입으로 값 리턴 |
long longValue() | long 타입으로 값 리턴 |
short shortValue() | short 타입으로 값 리턴 |
static int parseInt(String s) | 문자열 s를 10진 정수로 변환한 값 리턴 |
static int parseInt(String s, int radix) | 문자열 s를 지정된 진법(radix)의 정수로 변환한 값 리턴 |
static String toBinaryString(int i) | 정수 i를 이진수 표현으로 변환한 문자열 리턴 |
static String toHexString(int i) | 정수 i를 16진수 표현으로 변환한 문자열 리턴 |
static String toOctalString(int i) | 정수 i를 8진수 표현으로 변환한 문자열 리턴 |
static String toString(int i) | 정수 i를 문자열로 변환하여 리턴 |
static Integer valueOf(int i) | 정수 i를 담은 Integer 객체 리턴 |
static Integer valueOf(String s) | 문자열 s를 정수로 변환하여 담고 있는 Integer 객체 리턴 |
parseInt(), parseBoolean(), parseDouble() 메소드는 모두 static 타입이므로 Wrapper 클래스의 이름으로 바로 메소드를 호출한다.
ex) Wrapper 클래스 활용
public class WrapperEx{
public static void main(String[] args) {
System.out.println(Character.toLowerCase('A')); // 'A'를 소문자로 변환
char c1='4', c2='F';
if(Character.isDigit(c1)) // 문자 c1이 숫자이면 true
System.out.println(c1 + "는 숫자");
if(Character.isAlphabetic(c2)) // 문자 c2가 영문자이면 true
System.out.println(c2 + "는 영문자");
System.out.println(Integer.parseInt("-123")); // "-123"을 10진수로 변환, 음수로 변환됨
System.out.println(Integer.toHexString(28)); // 정수 28을 16진수 문자열로 변환
System.out.println(Integer.toBinaryString(28)); // 정수 28을 2진수 문자열로 변환
System.out.println(Integer.bitCount(28)); // 28에 대한 2진수의 1의 개수
Double d = Double.valueOf(3.14);
System.out.println(d.toString()); // Double을 문자열 "3.14"로 변환
System.out.println(Double.parseDouble("3.14")); // 문자열을 실수 3.14로 변환
boolean b = (4>3); // b는 true
System.out.println(Boolean.toString(b)); // true를 문자열 "true"로 변환
System.out.println(Boolean.parseBoolean("false")); // 문자열을 false로 변환
}
}
실행 결과
4는 숫자
F는 영문자
-123
1c
11100
3
3.14
3.14
true
false
반응형
'IT > 자바공부' 카테고리의 다른 글
자바 StringBuffer 클래스 개념 공부 (0) | 2022.05.31 |
---|---|
자바 String 클래스 개념 공부 (0) | 2022.05.31 |
자바 박싱(boxing)과 언박싱(unboxing) 개념 공부 (0) | 2022.05.31 |
자바 모듈 개념 공부 (0) | 2022.05.31 |
자바 패키지 개념공부 (0) | 2022.05.31 |