Wrapper 클래스
- int, char, double 등 8개의 기본 타입을 객체로 다루기 위해 JDK에 만들어진 8개의 클래스를 통칭하여 Wrapper 클래스라고 한다.
- Byte, Short, Integer, Long, Character, Double, Float, Boolean 클래스가 기본 타입에 해당되는 값을 객체로 다룰 수 있게 하는 Wrapper 클래스이다.
- 기본 타입의 값을 객체로 만들어 사용할 수 있도록 Wrapper 클래스를 제공한다.
객체 생성
Wrapper 객체는 기본 타입의 값을 인자로 하여 다음 예와 같이 정적 메소드인 valueOf()를 호출하여 생성한다.
Integer i = Integer.valueOf(10);
Character c = Character.valueOf('c');
Double d = Double.valueOf(3.14);
Boolean b = Boolean.valueOf(true);
Character를 제외한 나머지 Wrapper 클래스의 경우, 다음과 같이 문자열 Wrapper 객체를 생성할 수도 있다.
Integer i = Integer.valueOf("10");
Double d = Double.valueOf("3.14");
Float 객체는 double 타입의 값으로 생성 가능하다.
Float f = Float.valueOf((double)3.14);
Wrapper 활용
- Wrapper 객체에 들어 있는 기본 타입 값 알아내기
Integer i = Integer.valueOf(10);
int ii = i.intValue();
- 문자열을 기본 타입으로 변환
int i = Integer.parseInt("123");
- 기본 타입 값을 문자열로 변환
String s1 = Integer.toString(123);
박싱(boxing)과 언박싱(unboxing)
- 박싱: 기본 타입의 값을 Wrapper 객체로 변환하는 것
- 언박싱: 박싱의 반대 경우
- 자동박싱: 박싱과 언박싱이 자동으로 이루어짐
Integer ten = 10; // 자동 박싱
int n = ten; // 자동 언박싱
'2-1 학기 > OOP' 카테고리의 다른 글
[JAVA] 컬렉션과 제네릭 (0) | 2023.05.31 |
---|---|
[JAVA] String 클래스 (0) | 2023.05.31 |
[JAVA] Object 클래스 (0) | 2023.05.31 |
[JAVA] 메소드 오버라이딩(Method Overriding) (0) | 2023.05.30 |
[JAVA] 업캐스팅과 instanceof 연산자 (0) | 2023.05.23 |