[JAVA]변수의 타입-기본형, 참조형, 리터럴, Wrapper 클래스
이글은 자바의 정석을 가지고 공부하면서 정리를 하는 글이다.
이미 이전 블로그에서 값의 추가나 객체의 추가를 정리를 해놨다. 하지만 이것들의 자료형을 정리 할까 말까 고민을 하던 중 가장 기본이 되며 가장 중요한 부분인거 같아서 정리를 해야겠다고 생각을 하게 되었다.
변수의 타입
- 기본형(Primitive type)
- boolean(논리), char(문자), byte(정수), short(정수), int(정수), long(정수), float(실수), double(실수) 8개의 기본형 자료형이 존재한다.
- 실제 값을 저장하게 된다.
- 참조형(Reference type)
- 기본형을 제외한 나머지가 들어가게 된다. (Wrapper 클래스, String)
- 객체의 주소를 저장하게 된다.
변수
- 변수(variable) - 하나의 값을 저장하기 위한 공간
- 리터럴(literal) - 그 자체로 값을 의미한다.
- 상수(constant) - 한 번만 값을 저장할 수 있는 공간
여기서 리터럴은 헷갈리기에 내가 이해한 좀 더 자세한 내용을 적어놔야지
리터럴은 변수에 저장된 고정된 값 자체를 나타내며, 변수에 저장된 값의 형태를 정확하게 표현해준다.
int score = 50; 이라면 score에 리터럴은 정수형 리터럴 50을 갖는다 라고 할 수 있다.
리터럴은 정수형 리터럴, 실수형 리터럴, 문자 리터럴, 문자열 리터럴, 논리형 리터럴 총 5가지의 종류를 갖게 된다.
Wrapper 클래스
wrapper 클래스란 기본 데이터 타입(Primitive data type)을 감싸는(wrapper) 클래스를 의미한다. 기본 데이터 타입을 객체로 다룰 수 있게끔 해주는 클래스이다.
필자가 제네릭스를 정리하는 블로그를 작성하면서 봤지만 새로운 객체를 추가해 줄 때 casting시에 오류를 줄이기 위해서 추가되는 값의 자료형을 미리 결정을 해준다. 그때 사용되는 것이 Wrapper 클래스이다.
ArrayList<String> pitches = new ArrayList<>(Arrays.asList("128","138","148"));
위에 코드와 같이 제네릭스를 표현한 부분의 <String> 이 부분에 wrapper 클래스가 들어가게 된다.
Wrapper 클래스 종류
- Integer: int를 감싸는 클래스로, int 값을 객체로 다룰 수 있게 합니다.
- Double: double을 감싸는 클래스로, double 값을 객체로 다룰 수 있게 합니다.
- Boolean: boolean을 감싸는 클래스로, boolean 값을 객체로 다룰 수 있게 합니다.
- Character: char을 감싸는 클래스로, char 값을 객체로 다룰 수 있게 합니다.
- 그 외에도 Short, Long, Float, Byte 등이 있습니다.
사용한 예시를 보자.
Integer num = new Integer(10); // 기본 데이터 타입 int를 객체로 다루기
int value = num.intValue(); // Wrapper 클래스를 이용하여 다시 기본 데이터 타입으로 변환
num이라는 변수에 새로운 객체의 추가가 일어나고 있으며 기본 데이터 타입인 int를 wrapper 클래스인 Integer로 객체로 다루고 있다.
그리고 두번째 줄에서 wrapper 클래스를 사용한 num 변수를 다시 int로 기본 데이터 타입으로 변환을 하는 것을 볼 수 있다.
@@++