Wrapper class란
Java 에는 8개의 Wrapper class 가 제공 된다.
byte = java.lang.Byte
short = java.lang.Short
int = java.lang.Integer
long = java.lang.Long
float = java.lang.Float
double = java.lang.Double
char = java.lang.Character
boolean = java.lang.Boolean
int 와 char 는 각각 풀네임으로 호출한다.
나머지는 기본 데이터타입에 첫글자를 대문자로 선언하여 사용 할 수 있다.
여기서 궁금증이 생긴다.
Wrapper 클래스를 언제 사용할까?
기본 자료형 데이터들도 Instance로 표현해야만 하는 경우가 가장 클 것 같다.
객체를 받는 메소드가 있다고 가정하자.
그런데 딱 이 경우에만 primitive type 매개변수로 받아야하는 경우가 발생 했을때
나는 오버로딩한 메소드를 하나 더 만드는 것보다 primitive type을 객체화 시키는게
효율적일 것이라는 생각을 한다.
그리고 핵심 형변환... 프로그래밍을 하다보면 진짜 형변환을 많이하게 된다.
예제)
String parseTest = "11223344";
int parseTest2 = Integer.parseInt(parseTest); //Wrapper class 활용.
System.out.println(parseTest2);
// 아래 주황색으로 표시된부분이 Wrapper 클래스의 parseInt 메소드에 접근하여 활용하였다.
내가 항상 코딩하던 부분에 대한 이론을 이제야 배우는 느낌이다.
이론부터 배우고 코딩했어야했는데... ㄷㄷ...
그리고 객체화했을때 유용하게 활용할 수 있는 메소드들도 많다.!!!
오토박싱(AutoBoxing) 언박싱(UnBoxing)
일단 오토박싱과 언박싱 개념은 프로그래밍을 조금이라도 접해본 사람은 모두 알고 있다.
다만 오토박싱이라는 단어와 언박싱이라는 단어를 잘 모를수는 있을 것이다.
이미 거의 모든 사람들이 두 개념을 알고 있을것이다. 아래 코드를 보면 아 이거 였구나
라는 생각이 들것이라고 예상한다.
//오토박싱 primitive type num 을 num2 로 Wrapper class화 시킨다.
int num = 10;
Integer num2 = 10; <-- 오토 박싱
//언박싱 num2 Wrapper class화 된 num2 를 다시 primitive type 으로 변환한다.
int num3 = num2 <-- 언박싱
의외로 간단하다.
'Java' 카테고리의 다른 글
Java SimpleDateFormat (0) | 2015.07.22 |
---|---|
Java Calendar Date (0) | 2015.07.22 |
Java Interface (2) | 2015.07.16 |
Java 추상 클래스 (abstract class) (0) | 2015.07.16 |
Java 메소드 오버라이딩 (3) | 2015.07.15 |