프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있습니다. 이럴 때에 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 합니다.
위의 그림과 같이 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정을 박싱(Boxing)이라고 합니다.
반면 래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정을 언박싱(UnBoxing)이라고 합니다.
기본 타입래퍼 클래스
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
package ch01;
public class MainTest1 {
public static void main(String[] args) {
// 박싱, 언박싱 이라는 용어를 이해하자.
int num1 = 3; // --> Integer
Integer num2 = new Integer(3); // 박싱
int num3 = num2.intValue(); // 언박싱
System.out.println(num2);
System.out.println(num3);
// 2단계 - 자동 박싱, 자동언박싱 용어를 이해하자.
// Integer는 참조타입 17 은 기본타입
Integer num4 = 17; // 자동 박싱 int <-- Wrapper --> Integer 로 변환
int num5 = num4; // 자동 언박싱 Integer <-- Wrapper --> int 로 변환
// int num5 = (int)num4; 형변환 하지않아도 사용가능하다
}
}
문자열에 데이터 타입 변환 시 parse 메서드를 사용
int 값을 String 데이터 타입으로 변환 시 valueof 사용
package ch01;
public class MainTest2 {
public static void main(String[] args) {
String str1 = "10a";
String str2 = "20.5";
String str3 = "true";
System.out.println(str2 + 100);
// str1 <-- 10
// 문자열에 데이터 타입을 정수값을 변경하는 방법
// 예외처리
try {
int n1 = Integer.parseInt(str1);
System.out.println(n1 + 100);
} catch (Exception e) {
System.out.println("잘못된 입력 값입니다.");
}
// str2 --> double --> 8byte
double d = Double.parseDouble(str2);
System.out.println(d);
// str3 --> Boolean --> 1byte
boolean b = Boolean.parseBoolean(str3);
System.out.println(b);
// 반대로 -- int 값을 --> String 데이터 타입으로 변환 하고 싶다면
int number = 10000;
String numberStr = String.valueOf(number);
System.out.println(numberStr);
}
}
'Java' 카테고리의 다른 글
13. 회원 가입(트랜잭션, 예외 처리, H2 테이블 생성) (0) | 2024.08.09 |
---|---|
# 8. 화면 구현 - 2(레이아웃 분리) (0) | 2024.08.06 |
Swing - (이미지 겹치는 방법) (0) | 2024.04.29 |
Swing - (이미지 올리기) (0) | 2024.04.29 |
Swing - Component,Panel (0) | 2024.04.29 |