티스토리 뷰

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

프리미티브 타입 :

스택 메모리에 바로 실제 값을 저장

null 이 존재하지 않음

 

레퍼런스 타입 : 

힙 메모리에 값이 저장된 곳의 주소 값을 저장, 객체의 주소를 저장

null 이 존재함

8개의 기본형을 제외한 나머지 타입

클래스 이름 = 참조 변수의 타입

 

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

프리미티브 타입 종류

      범위 기본값
boolean 1byte 논리형  true, false false
char 2byte 문자형 '\u0000' ~ '\uffff' '\u0000'
byte 1byte 정수형  -128 ~ 127 0
short 2byte 정수형  -32768 ~ 32767 0
int 4byte 정수형  -2147483648 ~ 2147483647 0
long 8byte 정수형  -9223372036854775808 ~ 9223372036854775807 0
float 4byte 실수형  1.4E-45 ~ 3.4E38 0.0d
double 8byte 실수형  4.9E-324 ~ 1.8E308 0.0d

 

 

리터럴

상수는 리터럴에 '의미 있는 이름'을 붙여서 코드의 이해와 수정을 쉽게함

종류 리터럴 접미사
논리형 false, true 없음
정수형 123 L
실수형 3.14, 1.4f f,d
문자형 'A','1' 없음
문자열 'ABC','123' 없음

실수형에서는 double이 기본 자료형이라서 접미사 d 생략 가능

final int WIDTH = 20;
final int HEIGHT = 10;

int rectangleArea = WIDTH * HEIGHT;

 

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

int age;
int age = 25;

 

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

변수의 스코프 : 변수에 대한 접근과 변수가 존재 할 수 있는 경역, {} 중괄호 영역

 

라이프 타임  

인스턴스 변수 : 클래스 내부에서 선언, 클래스의 객체가 메모리에 존재할 때까지 

클래스 변수 :  클래스 내부에서 static으로 선언, 프로그램이 끝날 때까지

지역 변수 : 인스턴스 변수, 클래스 변수가 아닌 선언된 블록 내 변수, 변수가 선언된 블록을 벗어 날 때까지

 

타입 변환, 캐스팅 그리고 타입 프로모션

자동 타입 변환 : 

byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)

작은 범위 타입의 변수가 큰 범위 타입의 변수에 저장 될 때 발생

 

강제 타입 변환 : 

큰범위 타입은 자동변환 되지 않으므로 강제로 캐스팅함, 작은 범위 안에도 있을 수 있는 변수라면 값 보존 가능

 

1차 및 2차 배열 선언하기

int[] score;

4행 3열의 2차원 배열

int[][] score = new int[4][3];

 

타입 추론, var

var 타입, 타입을 명시하지 않아도 컴파일러가 변수의 타입을 자동으로 유추함

선언과 동시에 초기화를 필수로 해줄 것!

 

 

 

출처 : 

 

https://league-cat.tistory.com/407

 

https://itmir.tistory.com/296

 

https://math-coding.tistory.com/156

 

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

6주차 : 상속  (0) 2021.02.13
5주차 : 클래스  (0) 2021.02.12
4주차 : 제어문  (0) 2021.02.09
3주차 : 연산자  (0) 2021.02.03
1주차 : Java application의 실행 과정  (0) 2021.01.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함