일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 비둘기집원리
- f비
- 자바
- 운영체제
- Eigenvalue
- AIC
- Flutter
- ios
- 개발자
- 잔차
- Eigenvector
- 최대우도법
- 행렬
- 평균로그우도
- 상대 엔트로피
- Java
- 앱개발
- 개발
- 군간
- 논리회로 #컴퓨터
- 군내
- 조건부정리
- 선형대수학
- pintos
- 일반화오차
- qq플롯
- 앱
- Android
- 알고리즘
- 파스칼삼각형
- Today
- Total
Dev_bob
[JAVA] Wrapper 클래스 본문
6.7 Wrapper 클래스
자바의 Wrapper 클래스는 기본 데이터 타입을 객체로 감싸는 클래스입니다.
int,char,double 등 8개의 기본 타입이 있는데 이것에 각각 대응하는 Wrapper 클래스가 있습니다.Wrapper 클래스는 기본타입의 데이터를 객체로 다루어야 할 때 유용합니다.
기본 타입Wrapper 클래스
기본타입 | Wrapper 클래스 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Wrapper 클래스의 객체 생성
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 클래스의 경우 Wrapper 객체를 생성할 수 있다.
Wrapper 클래스의 활용
Wrapper 클래스는 많은 메소드를 제공합니다. 대부분 기본타입 값을 문자열로 반환하거나, 문자열을 기본 타입 값으로 변환하는 것들이 주를 이룹니다.
많은 메소드가 static 타입입니다.
예제6-5
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); //3.14의 객체화
System.out.println(d.toString());//Double을 문자열 "3.14"로 변환
System.out.println(Double.parseDouble("3.14"));//문자열을 실수 3.14로 변환
boolean b=(4>3);
System.out.println(Boolean.toString(b)); //true를 문자열"true"로 변환
System.out.println(Boolean.parseBoolean("false")); //문자열을 false로 변환
}
}
출력결과:
a
4는 숫자
F는 영문자
-123
1c
11100
3
3.14
3.14
true
false
박싱(boxing)과 언박싱(unboxing)
박싱 - 기본타입을 Wrapper 객체로 변환하는 것 ex) Integer ten=Integer.valueOf(10);
언박싱-Wrapper타입 객체를 기본 타입으로 변환하는 경우 ex)int n=ten.intValue();
박싱과 언박싱은 JDK1.5부터 자동으로 이루어집니다.
Integer ten=10; //자동 박싱. Integer ten = Integer.valueOf(10);로 자동처리
int n = ten; //자동 언박싱. int n=ten.intValue();로 자동처리