int 에는 null 값이 들어갈 수 없는데 Integer 에는 null 값이 들어갈 수 있는 이유는 뭔가요?
조회수 22321회
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
int형 변수는 기본형(Primitive type) 변수입니다. 그러기 때문에 실제 값을 저장 장소를 가지만 Integer형 변수는 객체형 변수로서 참조형(Reference Type)입니다, 즉 실제 값이 아닌 객체의 주소를 저장하고 있죠 그렇기에 Null을 가질 수 있는 것입니다.
int vs Integer 차이는 무엇일까?
int (Primitive 자료형 (long, float, double,. ....)
- 자료형
- 산술 연산이 가능.
- null 로 초기화 불가능, 0으로 초기화
Integer (Wrapper 클래스(객체)
- 클래스
- Unboxing 을 하지 않으면 산술 연산이 불가능하지만, null값은 처리할 수 있음.
- null값 처리가 용이해서 SQL 과 연동할 경우 처리가 용이. 직접적인 산술연산은 불가능
-
실제 값을 저장하느냐, 실제 값을 가르키는 주소값을 저장하느냐의 차이입니다.
아래 이미지를 보시면 이해가 쉬울 것 같은데요. 같은 객체이기 때문에 Employee 를 Integer 라봐도 상관 없습니다.
기본형 타입 (primitive type)
참조형 타입 (reference type)
이미지의 출처입니다. 제일 위에 달린 답변에서 이미지를 가져왔습니다.
답변이 훌륭합니다만 영어입니다 :D
댓글 입력