리그캣의 개발놀이터

[java] 프리미티브 타입과 레퍼런스 타입 본문

프로그래밍 언어/JAVA

[java] 프리미티브 타입과 레퍼런스 타입

리그캣 2020. 11. 21. 14:17

타이핑 하며 작성한 문서이기에 오타가 있을 수 있습니다. 오타나 잘못된것은 아래 댓글로 지적해주세요

프리미티브 타입과 레퍼런스 타입

자바는 프리미티브 타입(primitive type)과 레퍼런스 타입(reference type)이 존재한다.

아래는 열심히 그려본 구조도다.

기본형(primitive) type

프리미타입의 종류

기본형(primitive) type의 특징

  • 자바 언어에 내장된 기본 유형으로 기본형 타입(primitive type)을 미리 정의하여 제공
  • 기본값이 있기 때문에 Null이 존재하지 않음
  • 실제 값을 저장하는 공간으로 stack 메모리에 저장
  • wrapper class는 각 privitive type을 클래스로 만든것

참조형(reference) type

참조란?

변수나 메서드를 모은 틀이 클래스이며, 이 클래스라는 ㅋ틀로부터 만든 실제 객체가 인스턴스이고, 생성된 인스턴스를 사용하려면 그 인스턴스를 적정하는 정보(데이터의 주소?)를 알아 둘 필요가 있다.
그 정보를 참조(포인터)라고 부른다. 그리고 참조라는 값을 보관하는 타입을 참조형(reference)라고 부른다.

기본형(privitive) type을 제외한 모든 타입은 참조형(reference) type이다.
그리고 보통 객체라는 이름으로 부르기도한다.
위의 구조도와 마찬가지로 레퍼런스(reference) type은 다음이 존재한다.

  • 클래스 타입(class type)
  • 인터페이스 타입(interface type)
  • 배열 타입(array type)
  • 열거 타입(enum type)

참조형(reference) type의 특징

  • 기본형(primitive) 타입을 제외한 타입들이 모두 참조형 타입이다.
  • 빈 객체를 의미하는 Null 존재
  • 값이 저장되어 있는 곳의 주소값을 저장하는 공간으로 힙(Heap) 메모리에 저장

ref

Comments