8개의 기본 타입(byte, short, int, long, char, double, float, boolean)을 객체로 다루기 위해 JDK에 만들어진 8개의 클래스를 통칭하여 Wrapper 클래스라고 함
기본 타입 | Wrapper 클래스 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
Wrapper 클래스의 객체 생성
- Wrapper 객체는 기본 타입의 값을 인자로 하여 정적 메소드인 valueOf()를 호출하여 생성
- Character를 제외한 나머지 Wrapper 클래스의 경우, 문자열로 Wrapper 객체 생성 가능
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); //boolean 값 true의 객체화
//문자열로 Wrapper객체 생성
Integer j = Integer.valueOf("10");
Double k = Double.valueOf("3.14");
Wrapper 클래스의 활용
- Wrapper 클래스는 많은 메소드를 제공하지만, 대부분 기본 타입 값↔문자열을 서로 변환
- 가장 많이 사용되는 Integer 클래스의 주요 메소드
static int bitCount(int i) //정수 i의 이진수 표현에서 1의 개수 리턴
float floatValue() //float 타입으로 값 리턴
int intValue() //int 타입으로 값 리턴
long longValue() //long 타입으로 값 리턴
short shortValue() //short 타입으로 값 리턴
static int paresInt(String s) //문자열 s를 10진 정수로 변환한 값 리턴
static int parseInt(String s, int radix) //문자열 s를 지정된 진법의 정수로 변환한 값 리턴
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 객체 리턴
Wrapper 객체에 들어 있는 기본 타입 값 알아내기
Integer i = Integer.valueOf(10);
int ii = i.intValue(); //ii=10
Double d = Double.valueOf(3.14);
doubld dd = d.doubleValue(); //dd=3.14
Boolean b = Boolean.valueOf(true);
boolean bb = b.booleanValue(); //bb=true
문자열을 기본 타입으로 변환
- Wrapper 클래스는 문자열을 기본 타입의 값으로 변환하는 메소드를 제공
int i = Integer.parseInt("123"); //i=123
boolean b = Boolean.parseBoolean("true"); //b=true
double d = Double.parseDouble("3.14"); //d=3.14
- parseInt, parseBoolean, parseDouble 메소드는 모두 static 타입이므로 Wrapper 클래스의 이름으로 바로 메소드를 호출
- Wrapper 클래스는 해당 타입으로 변환하는 메소드만을 제공(Integer 클래스는 parseBoolean()을 제공하지 않음)
기본 타입 값을 문자열로 변환
- Wrapper 클래스는 기본 타입 값을 문자열로 변환하는 메소드를 제공
String s1 = Integer.toString(123); //정수 123을 문자열 "123"으로 변환
String s2 = Integer.toHexString(123); //정수 123을 16진수 문자열 "7B"로 변환
String s3 = Double.toString(3.14); //실수 3.14
String s4 = Character.toString('a'); //문자 'a'를 문자열 "a"로 변환
String s5 = Boolean.toString(true); //boolean 값 true를 문자열 "true"로 변환
예제 6-5 다음 Wrapper 클래스 활용 프로그램의 실행 결과
'java > 개념' 카테고리의 다른 글
객체 지향과 자바 (0) | 2024.05.11 |
---|---|
오름차순/내림차순 정수 정렬 (0) | 2024.05.11 |
예외 처리 (0) | 2024.05.10 |
main() 메소드 (0) | 2024.05.10 |
메소드에서 배열 리턴 (0) | 2024.05.08 |