# 타입추론 var
개발자가 변수의 타입을 명시적으로 적어주지 않고도, 컴파일러가 알아서 변수의 타입을 대입된 리터럴로 추록하는 것이다.
기존의 자바에서는 지원하지 않다가 자바 10부터 타입추론을 지원한다.
-var는 초기화값이 있는 지역변수로만 선언이 가능하다.
-var는 키워드가 아니다.
:즉 어떠한 타입도 아니고 클래스에서 사용할 수 있는 예약어가 아니라는 것이다. 그래서 var이라는 문자를 변수명으로 사용할 수 도 있다.
-var는 런타임 오버헤드가 없다.
:var은 컴파일 시점에 리터럴의 값을 보고 추론해서 바이트 코드에 명시적으로 변수의 타입을 지정해 준다. 따라서 중간에 var로 선언된 변수의 타입이 절대 변경되지 않는다.
js의 var과 다름.
```java
Function<Integer, Boolean> p = (Integer x) -> booleanExpression;
->
Function<Integer, Boolean> p = x -> booleanExpression;
```
위와 같이 한개의 식별자로 구성된 형식에 형식 추론을 사용하면 다양한 장점이 생긴다.
-한 형식을 다른 형식으로 교체할 때 편집 작업이 줄어든다.
-형식의 크기가 커지면서 제네릭이 다른 제네릭 형식에 의해 파라미터화 될 수 있다.
-형식 추론으로 가독성이 좋아질 수 있다.
'Java' 카테고리의 다른 글
Java Final과 불변객체 (0) | 2022.05.27 |
---|---|
Wrapper Class (0) | 2022.05.27 |
자바 변수 (0) | 2022.05.27 |
자바 데이터 타입 (0) | 2022.05.27 |
Garbage Collector (0) | 2022.05.27 |