학습키워드
- 제네릭
- 제네릭 클래스
- 제네릭 메서드
- Wrapper 클래스
Wrapper 클래스
>의미
: 기본 자료형으로 할당된 데이터 값을 객체화 시키기 위한 용도의 클래스
: 인스턴스로 감싼다고 표현
>사용 목적 및 특징
: 인스턴스의 참조 값을 매개 변수로 하는 클래스에 기본 자료형을 인자로 전달할 수 있음.
: 생성자를 통해 값을 한 번 주면 값을 바꿀 수 없는 immutable 인스턴스이다.
: 값을 바꾸기 위해서는 Boxing, Unboxing이라는 절차를 거쳐야한다. (private상황의 getter, setter 느낌이랑 좀 비슷)
>Wrapper 클래스의 종류
: 각각의 기본 자료형의 풀네임이 곧 Wrapper 클래스들 이다.
: Integer, Double, Boolean, Character, Byte, Short, Long, Float
>코드 예시
int num = 3;
Integer wrapNum = new Integer(num);
//Integer라는 Wrapper 클래스로 num(=3)을 감쌈.
>Boxing, Unboxing
- Boxing, 박싱
: Wrapper 클래스로 값을 감싸는 것을 의미함.
: 객체 생성
- Unboxing, 언박싱
: Wrapper 클래스로 감쌌던 값을 다시 기본 자료형으로 꺼내는 것을 의미함.
: Wrapper 클래스의 메소드 이용.
: .intValue(), .doubleValue 등이 있음. (type+Value 꼴의 형태)
>오토 박싱, 오토 언박싱
: 박싱과 언박싱을 컴파일러가 자동으로 해결해줌
//예시
Integer num = 10; //가능. 오토 박싱
//Integer num = new Integer(10); 박싱
num += 3; //가능, 오토 언박싱+오토 박싱
//num = new Integer(num.intValue() + 3); 언박싱 후 박싱
Number 클래스
: Wrapper 클래스의 상위 클래스로, 추상 클래스이다.
: intValue(), doubleValue()와 같은 추상 메소드로 정의되어있다. (Wrapper 클래스의 언박싱 메서드)
: Wrapper 클래스는 Number 클래스를 상속받기 때문에 사실 모든 언박싱 메서드들이 구현되어 있다. 즉, 필요에 따라서
는 다른 기본 자료형 값으로 언박싱도 가능하다!
'코드스테이츠_국비교육 > [Section1]' 카테고리의 다른 글
16.03_제네릭 메서드_22.09.13 (0) | 2022.09.14 |
---|---|
16.02_제네릭 클래스_22.09.13 (1) | 2022.09.13 |
15_추석 전 날_22.09.08 (0) | 2022.09.09 |
14_객체지향 프로그래밍 심화(추상화)_22.09.07 (0) | 2022.09.07 |
14_객체지향 프로그래밍 심화(다형성)_22.09.07 (2) | 2022.09.06 |