본문 바로가기
2-1 학기/OOP

[JAVA] Wrapper 클래스

by bona.com 2023. 5. 31.

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