[JAVA] wrapper class 정리(int와 Integer의 차이)

바위너구리·2022년 11월 18일
0
post-thumbnail

wrapper class

자바는 기초 타입을 포장해 클래스화(객체화)포장 클래스(wrapper class)를 제공해서, 기초 타입 데이터도 기본 패키지에 포함된 모든 클래스에 활용할 수 있게 한다.

Byte, Short, Integer, Long, Float, Double, Character, Boolean 등이 모두 포장 클래스다.

이 중에서 수치 포장 클래스(Number - Byte, Short, Integer, Long, Float, Double)는 많은 유용한 메서드를 제공하며, 대다수 클래스의 메서드가 거의 유사하다.

  • MAX_VALUE: 최대 절댓값
  • MIN_VALUE: 최소 절댓값

Integer 클래스의 주요 메서드

  • intValue(): int 타입으로 반환
  • doubleValue(): double 타입으로 반환
  • floatValue(): float 타입으로 반환
  • parseInt(String s): 문자열을 int로 반환
  • toBinaryString(int i): 2진수 문자열로 반환
  • toHexString(int i): 16진수 문자열로 반환
  • toString(int i): 10진수 문자열로 반환
  • valueOf(String s): Integer 객체로 반환
  • valueOf(Stirng s, int radix): radix 진수의 문자열을 Integer 객체로 반환

Boxing과 Unboxing

기초 타입 데이터를 포장해 객체화하는 것: 박싱
반대 과정: 언박싱

박싱

생성자나 valueOf() 메소드 사용

Integer bi = new Integer(10);
Integer bi = Integer.valueOf(10);

언박싱

Value() 메소드 사용

Integer bi = new Integer(10);  // 이렇게 있을 경우
int i = bi.intValue();
double d = bi.doubleValue();

자동 박싱, 자동 언박싱

  • 기초 타입 데이터를 포장 클래스 객체에 대입하면 자동으로 포장 클래스 타입으로 변환(자동 박싱)
  • 포장 객체를 기초 타입 변수에 대입하거나, 기초 타입 데이터와 연산할 때 포장 객체가 자동으로 기초 타입으로 변환(자동 언박싱)
Integer bi = 10;  // 자동 박싱
int i1 = b1;  // 자동 언박싱
int i2 = b1 + 20;  // 자동 언박싱

String은?

https://velog.io/@bahar-j/String-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-Wrapper-%ED%81%B4%EB%9E%98%EC%8A%A4

https://wikidocs.net/205


참고

쉽게 배우는 자바 프로그래밍, 우종정

0개의 댓글