ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java - 기본 클래스(Wrapper 클래스)5
    개발언어/JAVA 2023. 11. 6. 15:07

    Wrapper 클래스 

    기본 자료형을 위한 클래스 

    public void setValue(Integer i){...} //객체를 매개변수로 받는 경우
    public Integer returnValue(){...} //반환 값이 객체형인 경우

     

    보통 정수를 사용할 때는 기본형인 int를 사용했다. 그런데 정수를 객체형으로 사용해야 하는 경우가 있다 위와 같이 매개변수가 객체이거나 반환값이 객체형인 경우이다.

     

    기본형 Wrapper 클래스
    boolean Boolean
    byte Byte
    char Character
    short Short
    int Integer
    long Long
    float Float
    double Double

     

    이를 위해 자바에서는 기본 자료형처럼 사용할 수 있는 클래스를 제공한다. 이러한 클래스를 기본 자료형을 감쌌다는 의미로 Wrapper클래스라고 한다.

     

    Integer 클래스 사용하기

    Integer(int value) {...} //특정 정수를 매개변수로 받는 경우
    Integer(String s) {...} // 특정 문자열을 매개변수로 받는 경우

     

    Integer 클래스의 JavaDoc을 살펴보면 int 자료형을 감싼 클래스라고 설명되어 있다. Integer 클래스의 생성자는 다음과 같이 특정 정수를 매개변수로 받는 경우와 문자열을 받는 경우 두가지가 있다.

     

    Integer 클래스는 멤버 변수로 기본 자료형 int를 자기고 있고, int 값을 객체로 활용할 수 있는 여러 메서드를 제공한다. in value는 final 변수이며 한번 생성되면 변경할 수 없다.

     

    Integer 클래스의 메서드()

    intValue()

    Integer iValue = new Integer(100);
    int myValue = iValue.intValue(); //int 값 가져오기. myValue 값을 출력하면 100이된다.

     

    Integer 클래스 내부의 int 자료형 값을 가져오기 위해서는 intValue()메서드를 사용한다.

     

    valueOf()

    Integer number1 = Integer.valueOf("100");
    Integer number2. = Integer.valueOf(100);

     

    valueOf() 정적 메서드를 사용하면 생성자를 사용하지 않고 정수나 문자열을 바로 Integer 클래스로 반환받을 수 있다.

     

    pardeInt()

    int num = Integer.parseInt("100");

     

    parseInt()메서드를 활용하면 문자열이 어떤 숫자를 나타낼 때, 이를 테면 학번이나 개수 등이 문자열로 전달 된 경우에 문자열에서 int 값을 바로 가져와서 반환할 수 도 있다.

     

    오토박싱과 언박싱

    어떤 정수 값을 사용할 대 int로 선언하는 경우와 Integer로 선언하는 경우는 전혀 다르다. int는 기본 자료형 4바이트지만, Integer는 클래스이기 때문에 인스턴스로 생성하려면 생성자를 호출하고 정수 겂을 인수로 넣어야 한다. 이처럼 기본 자료형과 Wrapper클래스는 같은 값을 나타내지만, 그 쓰임과 특성이 전혀 다르다.

    Integer num1 = new Integer(100);
    int num2 = 200;
    
    //num.inValue()로 변환(언박싱)
    int sum = num + num2;
    
    //Integert.valueOf(num2)로 변환(오토박싱)
    Integer num3 = num2;

     

    위 코드와 같이 오토박싱이 되거나 언박싱이 되는건 자바의 연산방식이 변경된 것이 아니라 컴파일 과정에서 자동으로 일어나는 것이다. 따라서 변수의 형 변환에 신경 쓰지 않을 수 있다.

     

    [출저 - Do it! 자바 프로그래밍 입문 , 박은종]

    http://www.easyspub.co.kr/20_Menu/BookView/A001/267/PUB

     

    http://www.easyspub.co.kr/20_Menu/BookView/A001/267/PUB

     

    www.easyspub.co.kr

     

    댓글

Designed by Tistory.