Wrapper 클래스
• 자바의 기본 타입을 클래스화한 8개 클래스
• 기본 타입의 값을 객체로 다룰 수 있게한다.
• 위와 같은 기본 타입을 Wrapper 클래스로 작성하면 Wrapper 객체 생성이 가능하다
-------기본 타입 값으로 Wrapper 객체 생성 --------
Integer i = Integer.valueOf(10);
Character c = Character.valueOf(‘c’);
Double f = Double.valueOf(3.14);
Boolean b = Boolean.valueOf(true);
---------------------------------------------------
------문자열로 Wrapper 객체 생성 -------------------
Integer I = Integer.valueOf(“10”);
Double d = Double.valueOf(“3.14”);
Boolean b = Boolean.valueOf(“false”);
----------------------------------------------------
-----Float 객체는 double 타입의 값으로 생성 ---------
Float f = Float.valueOf((double) 3.14);
-----------------------------------------------------
Wrapper 클래스 객체 생성 예시
public class ClassTest {
public static void main(String[] args) {
//int a = 3; <<<------ 기본 타입으로 생성시 출력 오류
Interger a = 3; <<------ Wrapper 클래스로 생성시 정상적으로 출력
Integer a = new Integer(3); <<----- 이런식으로도 가능
System.out.println(a.MIN_VALUE);
System.out.println(a.MAX_VALUE);
---결과값----
//-2147483648
// 2147483647
-----------------
}
}
Wrapper 클래스 메소드
• Wrapper 객체들은 거의 유사하다.
• 많은 메소드가 static 타입이다.
• 위 메소드는 Integer 클래스의 주요 메소드이다.
Wrapper 클래스 메소드 활용 예시
-------intValue() 메소드로 기본 타입 값 리턴 -------
Integer i = Integer.valueOf(10);
int ii = i.intValue(); // ii = 10
-------charValue() 메소드로 기본 타잆 값 리턴------
Character c = Character.valueOf('c' );
char cc = c.charValue(); // cc = ’c’
-------doubleValue() 메소드로 기본 타잆 값 리턴 -------
Double f = Double.valueOf(3.14);
double dd = d.doubleValue(); // dd = 3.14
------booleanValuse() 메소드로 기본 타입 값 리턴-------
Boolean b = Boolean.valueOf(true);
boolean bb = b.booleanValue(); // bb = true
---------------------------------------------------------------------------------
--------parse 메소드로 문자열을 기본 데이터 타입으로 변환--------------------------
nt i = Integer.parseInt("123"); // i = 123
boolean b = Boolean.parseBoolean("true"); // b = true
double f = Double.parseDouble("3.14" ); // d = 3.14
---------------------------------------------------------------------------------
------------------기본 타입을 문자열로 변환 ---------------------------------------
String s1 = Integer.toString(123); // 정수 123을 문자열 "123" 으로 변환
String s2 = Integer.toHexString(123); // 정수 123을 16진수의 문자열 "7b"로 변환
String s3 = Double.toString(3.14); // 실수 3.14를 문자열 "3.14"로 변환
String s4 = Charater.toString('a'); // 문자 ‘a’를 문자열 "a"로 변환
String s5 = Boolean.toString(true); // 불린 값 true를 문자열 "true"로 변환
-----------------------------------------------------------------------------------
박싱(Boxing)
기본 타입(Primitive Type)을 Wrapper 클래스로 변환하는 것
언박싱(Unboxing)
Wrapper 클래스를 기본 타입(Primitive) 타입으로 변환하는 것
자동 박싱과 자동 언박싱을 - JDK1.5 버전부터 지원해주기 때문에 크게 신경 쓸 일이 없다. ! !
개념정도만 파악해두자.
자동화된 박싱,언박싱을 오토 박싱(Auto Boxing), 오토 언박싱(Auto Unboxing) 이라고 한다.
public static void main(String[] args) {
Integer a = new Integer(3);
int b = 3;
Integer c = (Integer) b; // 이것은 boxing
int d = (int) a; // 이것은 Unboxing
int e = a; // 자동으로 된다!!
Integer f = b; // 자동으로 된다!!
}
'Back-End > Java' 카테고리의 다른 글
[java] 명명 규칙 (0) | 2022.03.11 |
---|---|
[Java] ArrayList 정리 (0) | 2022.02.21 |
[java] 자바 String, StringBuffer, StringTokenizer 클래스 (0) | 2022.02.15 |
[java] 업캐스팅(UpCasting)과 다운캐스팅(DownCasting) (0) | 2022.02.15 |
[java] 추상클래스와 인터페이스 (0) | 2022.02.08 |