Made in 2PARK

[0.07] 기본 클래스 - 1. Wrapper, BigInteger, BigDecimal 클래스 본문

자바기본

[0.07] 기본 클래스 - 1. Wrapper, BigInteger, BigDecimal 클래스

2PARK 2013. 12. 3. 22:58

1. Wrapper 클래스

2. BigInteger, BigDecimal 클래스

3. Math 클래스

4. Random 클래스

5. 토크나이저





1. Wrapper 클래스

 - 기본 자료형을 감싸는 클래스, 데이터를 변수에 담지 않고 인스턴스에 담아야 하는 경우가 있다. 이럴 때 기본으로 제공되는 Wrapper 클래스를 활용하여 데이터를 클래스에 담아 인스턴스화 한다. 인스턴스 참조값을 매개인자로 데려와서 데이터에 접근하고자 할 때에 유리.


 - Auto Boxing, Auto UnBoxing

: 자바 버전 5.0부터 Boxing와 UnBoxing를 자동으로 처리해 주기 시작했다. 

class AutoBoxingUnboxing

{

public static void main(String[] args)

{

Integer iValue=10; // Auto Boxing

Double dValue=3.14; // Auto Boxing

System.out.println(iValue); 

System.out.println(dValue);

int num1=iValue; // Auto UnBoxing

double num2=dValue;  // Auto UnBoxing

System.out.println(num1);

System.out.println(num2);

}

}


: AutoBoxing과 AutoUnBoxing의 활용

class AutoBoxingUnboxing2
{
public static void main(String[] args)
{
Integer num1=10; // Auto Boxing
Integer num2=20; // Auto Boxing
num1++; // Auto UnBoxing후에 Auto Boxing이 진행되어 num1에 +1이 된다.
                            // num1=new Integer(num1.intValue()+1);
System.out.println(num1);
num2+=3;  // Auto UnBoxing후에 Auto Boxing이 진행되어 num2에 +3이 된다.
                                 // num2=new Integer(num2.intValue()+3);
System.out.println(num2);
int addResult=num1+num2; // int형 변수에 Integer형 인스턴스가 왔고, 이에 따라 오토 언박싱을 진행한 
                                                          후에 연산을 하고 이 결과를 addResult에 넣어주고 있다.
System.out.println(addResult);
int minResult=num1-num2;
System.out.println(minResult);
}
}

 

  - 사용되는 keyword

 

 기본 자료형 데이터

 =====> Boxing

Wrapper 인스턴스 

 byte

 

Byte 

 short

 

 Short

 int

 

 Integer

 float

 

 Float

 double

 UnBoxing<=====

 Double

 

 

2. BigInteger, BigDecimal 클래스

 - Long형으로도 표현할 수 없는 수를 표현할 때에 사용.

 - ex> BigInteger bigValue1 = new BigInteger("1000000000000000000000000000000"); // 문자열의 형태로 전달하는 이유는 당연히, 이렇게 큰 수를 전달받을 수 있는 매개변수 선언이 불가능하니까.

 - BigDecimal 클래스의 경우에는 실수를 담당. 실수의 연산에서는 오차가 반드시 생기기 때문에 큰 수를 오차 없이 연산하기 위하여 사용.

 - ex> BigDecimal bigValue2 = new BigDecimal("1.6"); // 마찬가지로 문자열로 전달.

Comments