[Java] Wrapper 클래스
2020. 4. 30. 22:54
반응형
Wrapper Class
1. 기본 자료형 클래스
byte, short, int long, float, double, boolean, char
기본 자료형을 객체로 변환하기 위해서, 기본 자료형 각각에 대한 클래스가 Java 표준 라이브러리(java.lang 패키지)에 포함되어 있다.
- byte - Byte
- short - Short
- int - Integer
- long - Long
- float - Float
- double - Double
- boolean - Boolean
- char - Character
기본 자료형 클래스에는 equals 메소드가 재정의되어있음.
Integer x = new Integer(3);
Integer y = new Integer(3);
System.out.println(x.equals(y)); // true 출력!!!!
2. Auto-boxing & Auto-unboxing
래퍼 클래스는 산술 연산을 위해 정의된 클래스가 아니므로, 인스턴스에 저장된 값을 변경할 수 없다.
단지, 값을 참조하기 위해 새로운 인스턴스를 생성하고, 생성된 인스턴스의 값만을 참조할 수 있다.
Auto-boxing
Object a1 = 3;
Object a2 = new Integer(3);
둘은 같은 코드
컴파일러가 윗 코드를 아래코드로 자동으로 생성 Autoboxing
Auto-unboxing
Integer i1 = new Integer(3);
int i2 = i1;
int i2 = i1.intValue();
3. nullable integer
null 값이 가능한 int값을 java 변수에 대입하려면 기본 자료형이 int 변수를 사용할 수 없고 Integer 객체 참조 변수를 사용해야한다.
728x90
반응형
'programming language > Java' 카테고리의 다른 글
[Java] DTO(Data Transfer Object) vs VO(Value Object) (0) | 2022.04.14 |
---|---|
[Java] Map 보다 DTO 클래스를 사용해야 하는 이유 (0) | 2022.04.07 |
[Java] String을 Null Safe하게 비교하기 (0) | 2022.04.05 |
[Java] 파일 복사 File copy (0) | 2022.03.11 |
[Java] String str = ""; vs String str = new String(""); / 상수 영역과 힙 영역/ Java에서 new 연산자와 리터럴의 차이점 (0) | 2020.03.18 |
Written by ner.o
개발자 네로의 개발 일기,
자바를 좋아합니다 !
댓글 개