본문 바로가기
기타/자바 초급

자바에서의 타입

by 창이2 2021. 2. 12.

목차

 

  • 프리미티브 타입이란
  • 프리미티브 타입과 레퍼런스 타입
  • 리터럴
  • 타입 변환, 캐스팅 그리고 타입 프로모션
  • 타입 추론, var

 

 

1. 프리미티브 타입이란

  

 자바에서 기본적으로 제공하는 자료형을 의미한다. 총 8개의 자료형이 기본적으로 제공된다.

 

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

 프리미티브 타입은 위 처럼 기본적으로 제공하는 자료형을 뜻하고 레퍼런스 타입은 주소값을  나타내는 타입이다.

배열, 클래스, 인터페이스로 선언된 것들이 레퍼런스 타입이다. 실제 값이 아닌 주소값을 가르키고 그 주소에 있는 값을 가져오는 것이 레퍼런스 타입이다. 

 

3. 리터럴

 리터럴이란 소스코드에서 사용된 직접 고정된 값을 의미한다. 10진수이면 10, 16진수이면 0x10, 문자이면 'C' 등과 같이 고정된 값을 나타내는 것이 리터럴이다. 

 

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

 

 타입을 변환하는 방법은 2가지가 있다.

 

 4-1) 타입 캐스팅 

    타입 캐스팅은 자신의 표현범위를 모두 포함할 수 없는 데이터 타입으로 변한하는 것을 의미한다.

   예를 들면 float에서 long으로 캐스팅하는 경우이다. long은 정수만 표현 할 수 있고 float은 실수까지

   표현 할 수 있다. 이 때 float에 소수점 값들은 long으로 변환될때 손실되기 때문에 이런 데이터 손실이 날 수

   있는 경우 타입변환 하는 것을 캐스팅한다고 한다.

 

4-2) 타입 프로모션

    타입 프로모션은 반대로 자신의 표현범위를 모두 포함할 수 있는 데이터 타입으로 변한하는 것을 의미한다.

   위와 반대로 long에서 float으로 변환하는 경우 long의 값들이 float의 정수 범위 내에 있을때 데이터손실이 발생하지

  않기 때문에 이런 경우 타입 프로모션이라고 한다.

 

 

5. 타입 추론, var

 타입 추론이란 말 그래도 타입을 추론하는 것이다. 예를 들면 

ArrayList<Integer> arr = new ArrayList()

이나 제네릭을 사용할때 타입 추론을 한다고 한다.

 

var는 기존에 자바스크립트에서 쓰이는 변수와 비슷하게 쓰이지만 몇가지 제약사항이 있다.

선언과 동시에 초기화를 해야하고 로컬변수로만 쓰여야한다.

'기타 > 자바 초급' 카테고리의 다른 글

SOLID 원칙이란  (0) 2022.07.03
JVM이란  (0) 2021.02.06

댓글