리그캣의 개발놀이터

[Java] 타입 추론, var 본문

프로그래밍 언어/JAVA

[Java] 타입 추론, var

리그캣 2020. 11. 21. 16:29

타이핑 하며 작성한 문서이기에 오타가 있을 수 있습니다. 오타나 잘못된것은 아래 댓글로 지적해주세요

타입 추론(Type Inference), var

java 10에서 var 라는 Local Variable Type-Inference가 추가되었음

타입 추론이란 정적 타이핑을 지원하는 언어에서, 타입이 정해지지 않은 변수에 대해서
컴파일러가 변수의 타입을 스스로 찾아낼 수 있도록 하는 기능

타입 추론이 가능하다는 얘기는 타입을 명시하지 않아도 된다는 말 -> 코드량을 줄이고, 코드의 가독성을 높일 수 있음

기존의 자바에서는 일반 변수에 대해서는 타입추론이 지원되지 않고, generics와 lambda식에 대해서만 타입 추론을 지원하고 있었다.

동적 타이핑을 지원하는 언어에서는 다음과 같이 변수에 대해 타입 추론을 지원한다.

var name = "leaguecat";

java 9 이하에서는 다음과 같이 써야한다.

String name = "leaguecat";

java 10 이상에서는 다음과 같이 타입추론, var를 지원한다.

var name = "leaguecat";

주의해야 할 부분

  • var와 다이아몬드 연산자를 같이 사용하게 되면 컴파일 에러가 발생함
var name = new ArrayList<>();             //error
  • IDE가 없으면 어떤 데이터 타입이 들어오는지 확인하기 어렵다.

ref

Comments