#2 자바 데이터 타입 변수 그리고 배열

Shinho.Bang·2020년 12월 3일
0

live-study

목록 보기
2/3

🙆‍♂️ 목표

자바가 제공하는 다양한 데이터 타입 변수 & 배열 학습


🤔 학습내용

  • 프리미티브 타입 종류와 값의 범위 그리고 기본 값
  • 프리미티브 타입과 레퍼런스 타입
  • 리터럴
  • 변수 선언 및 초기화하는 방법
  • 변수의 스코프와 라이프타임
  • 타입 변환, 캐스팅 그리고 타입 프로모션
  • 1차 및 2차 배열 선언하기
  • 타입 추론, var

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

자바의 Primitive Type (기본형)은 모두 8개로 크게 정수형 실수형 문자형 논리형 4가지로 구분된다.

타입 메모리 기본값 표현범위
정수형 byte 1 byte 0 -128 ~ 127
  short 2 byte 0 -32,768 ~ 32,767
  int 4 byte 0 -2,147,483,648 ~ 2,147,483,647
  long 8 byte 0L -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
실수형 float 4 byte 0.0f (3.4 X 10-38) ~ (3.4 X 1038) 의 근사값
  double 8 byte 0.0 (1.7 X 10-308) ~ (1.7 X 10308) 의 근사값
문자형 char 2 byte (unicode) '\u0000' 0 ~ 65,535
논리형 boolean 1 byte false true, false

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

프리미티브 타입 (기본형)

  • 총 8개의 기본형 타입을 미리 정의하여 제공한다.

  • 기본값이 있기 때문에 Null이 존재하지 않는다. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용한다.

  • 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다.

  • 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다.

레퍼런스 타입 (참조형)

  • 기본형 타입을 제외한 타입들이 모두 참조형 타입이다.

  • 빈 객체를 의미하는 Null이 존재한다.

  • 값이 저장되어 있는 곳의 주소값을 저장하는 공간으로 힙(Heap) 메모리에 저장된다.

  • 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 런타임 에러가 발생한다.

타입 예시 기본값 메모리
배열(Array) int[] arr = new int[5]; null 4 byte (객체의 주소값)
열거(Enumeration) null 4 byte (객체의 주소값)
클래스(Class) String str = "test";
Student sujin = new Student();
null 4 byte (객체의 주소값)
인터페이스(Interface) null 4 byte (객체의 주소값)

리터럴

💡 컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 대표하는 용어다.

자바에서의 리터럴은 보통 기본형의 데이터를 의미한다.

int a = 24

여기서 a 변수에 할당된 24가 리터럴이 된다.

특수문자 리터럴

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


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


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


1차 및 2차 배열 선언하기


타입 추론, var


🙇‍♂️ Ref.

profile
감성코더

0개의 댓글