티스토리 뷰

프리미티브 타입 종류와 값의 범위 그리고 기본 값

 

java에는 8가지의 자료형이 존재하며 Object가 아닌 raw value이다.

8가지 타입은 모두 스택 메모리에 저장된다. 

 

 

 

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

 

다음과 같이 primitive type과 reference type이 나뉜다.

  • byte: Byte
  • short: Short
  • int: Integer
  • long: Long
  • float: Float
  • double: Double
  • char: Character
  • boolean: Boolean

primitive type은 값이 stack영역에 그대로 저장되고 reference는 heap영역에 있는 객체의 주소를 저장하게 된다.

그렇기 때문에 참조형은 기본자료형에 비해 오버헤드가 발생할 수 있다.

 

변수 선언 및 초기화하는 방법

 

변수를 선언한다는 것은, 저장공간을 확보하겠다는 의미로 해석할 수 있다.

int a; 

위의 코드가 변수를 선언한 것인데, 해석하자면 다음과 같다.
int 타입의 값을 저장할 수 있는 공간을 확보했고(int 타입은 4byte) 그 공간을 지칭할 이름은 a이다.

 

변수를 초기화한다는 것은, 저장공간에 원하는 값을 저장하는 것을 의미한다.
변수를 선언하고 나면, 해당 공간에는 아무런 의미 없는 쓰레기값이 들어가 있게 된다. 그리고 그 상태에서 컴파일을 시도하면
Error:(10, 28) java: variable a might not have been initialized와 같은 컴파일 에러코드를 볼 수 있을 것이다.
그러므로 변수는 선언 후에 초기화를 해야 하며 위에 선언한 변수에 대한 초기화는 다음과 같이 할 수 있다

a = 10; 

 

변수의 선언과 초기화를 한 줄에 하는 것도 가능하다.

int a = 10; 

 

 

변수의 스코프와 라이프타임

 

 

타입 추론, var

 

타입 추론이란 데이터 타입을 소스코드에 명시하지 않아도, 컴파일 단계에서 컴파일러가 타입을 유추해 정해주는 것을 뜻한다. 1.5 버전부터 추가된 Generic이나 자바 8 버전에서 추가된 lambda에서 타입추론이 사용된다. 그리고 자바 10에서는 이러한 타입추론을 사용하는 var이라는 Local Variable Type-Inference 가 추가되었다.

var a = "hello";	// String a = "hello";
var b = 10;		// int b = 10;

'개발 > Java' 카테고리의 다른 글

[Java] 패키지  (0) 2023.06.14
[Java] 상속  (0) 2023.06.08
[Java] 클래스  (0) 2023.06.07
[Java] 제어문  (0) 2023.06.05
[Java] JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.  (0) 2023.06.01
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함