본문 바로가기
IT Tech/Application

[java] Primitive와 Reference Type

by _><- 2021. 9. 4.
반응형

# Primitive Type(기본형)

- 비객체 타입으로, Null을 가질 수 없는 형태

- 원시타입은 '스택' 메모리에 값이 존재

- Reference 타입보다 속도가 빠름

 

출처 : https://n1tjrgns.tistory.com/264

 

# Reference Type(참조형)

- 참조형은 기본적으로 java.lang.Object 를 상속받음

- 선언한 자료형이 기본형이 아닌 경우 참조형(Class, Interface, Arrays)

- 참조타입은 하나의 인스턴스이기 때문에 '스택' 메모리에는 참조값만 있고, 실제 값은 힙 메모리에 존재

- 값을 필요로 할 때마다 언박싱 과정을 거치기 때문에 Primitive타입과 비교해서 접근 속도가 느림

- 예외적으로 엄청 큰 숫자를 복사해야 한다면, 참조값만 넘길 수 있는 참조타입이 좋을 수 도 있음

 

# Wrapper Class

- 기본형에 null을 넣고 싶다면 래퍼 클래스(Wrapper Class)를 활용

- 래퍼 클래스는 기본형을 클래스로 감싼 형태

출처 : https://bangu4.tistory.com/32

 

# Generic

'데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법'.

- 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미

- 특정(Specific) 타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입

 

참고 : https://bangu4.tistory.com/32

 

[JAVA] Primitive , Reference 차이

Primitive type과 Reference type 한줄요약, 프리미티브는 메모리공간에 변수가 가지는 값을 저장하고, 래퍼런스는 객체가 저장되있는 주소를 저장한다. Primitive type - 변수에 값 자체를 저장 정수형 byt

bangu4.tistory.com

https://velog.io/@gillog/%EC%9B%90%EC%8B%9C%ED%83%80%EC%9E%85-%EC%B0%B8%EC%A1%B0%ED%83%80%EC%9E%85Primitive-Type-Reference-Type

 

원시타입, 참조타입(Primitive Type, Reference Type)

boolean저장 가능한 범위 true/ falseJava가 데이터를 다루는 최소 범위가 1 Byte 이기 때문에 낭비적이지만 1 Byte를 사용한다.charJava의 경우 Unicode를 사용, 동양의 글자의 경우 2 Byte 필요하기때문에 char

velog.io

https://gbsb.tistory.com/6

 

자바의 데이터 타입(Primitive type, Reference type)

타입(Data type)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것이다. 자바에서 타입은 크게 기본형 타입과 참조형 타입이 있다.

gbsb.tistory.com

https://st-lab.tistory.com/153

 

자바 [JAVA] - 제네릭(Generic)의 이해

정적언어(C, C++, C#, Java)을 다뤄보신 분이라면 제네릭(Generic)에 대해 잘 알지는 못하더라도 한 번쯤은 들어봤을 것이다. 특히 자료구조 같이 구조체를 직접 만들어 사용할 때 많이 쓰이기도 하고

st-lab.tistory.com

 

반응형

'IT Tech > Application' 카테고리의 다른 글

[java] Array, List(ArrayList, LinkedList)  (0) 2021.09.04
[java] Stack, Queue, ArrayDeque  (0) 2021.09.04
[js] JavaScript Tutorial  (0) 2021.08.27
브라우저 SHA-1 인증서 발급 중단  (0) 2016.06.11
사이버킬체인 : APT방어  (0) 2016.06.01