반응형
*래퍼 클래스 (wrapper class)
- 프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 존재한다.
- 메소드의 인수로 객체 타입만 요구되는 경우 기본 타입의 데이터를 그대로 사용하는데 무리가 있는데, 이때 먼저 기본 타입의 데이터를 객체로 변환 후 작업을 수행 해야 한다.
- 래퍼 클래스는 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스로 java.lang 패키지에 포함되어 제공된다.
- 래퍼 클래스는 각 타입에 해당하는 데이터를 인수로 전달받아 해당 값을 가지는 객체로 만들어 준다.
기본 타입 | 래퍼 클래스 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
*오토 박싱 / 오토 언박싱
- 오토 박싱이란 컴파일러에 의해 기본 타입이 자동으로 래퍼 클래스로 변환되는 것을 의미한다.
public class WrapperExam {
public static void main(String[] args) {
int i = 5;
Integer i2 = new Integer(5);
Integer i3 = 5; //오토박싱
int i4 = i2; //오토언박싱
long i2_long = i2.longValue();
long i4_long = i4.longValue(); // 오류 발생!
}
}
integer타입과 int타입의 오토박싱, 오토언박싱의 경우에도 Wrapper클래스가 사용된다.
i2는 Integer형이므로 longValue()메소드를 사용할 수 있으나
i4는 int형이므로 메소드를 사용하면 오류가 발생한다.
반응형
'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글
Math 클래스 (0) | 2020.06.04 |
---|---|
스트링 버퍼(StringBuffer) (0) | 2020.06.03 |
인터페이스 (0) | 2020.06.01 |
ArrayList (import, 객체 생성, 추가/삭제, 엘리먼트 가져오기, iterator 등) (0) | 2020.06.01 |
예외처리 (0) | 2020.06.01 |