JAVA

[JAVA] VAR 타입추론

집한구석 2022. 4. 24. 22:30
728x90

VAR 정의

  • 지역변수 선언시 초기값을 통하여 변수의 타입을 명시적으로 적지 않아도, 컴파일러가 알아서 변수의 타입을 대입된 데이터 타입을 추론하게 해줌 (JAVA 10부터 지원함)

VAR 특징

var word = "단어"; // String으로 추론
var number = 1; // int로 추론
var list = List.of(1, 2, 3) // List로 추론
  • 형식 변수 선언 및 메서드 반환유형, 멤버 변수, 필드 선언, 생성자 형식 변수 및 다른 종류의 변수 선언에는 사용 불가
  • 지역 변수 타입 추론할때 허용이 됨
  • 람다 표현식에 사용 (자바 11에 해당)

VAR 사용시 주의사항

var number; // 초기 값 할당 없이 변수에 'var'를 사용불가 
var list = null; // null 값은 사용불가
var output = (String word) -> System.out.println("word = " + word); // 명시적인 타입 지정
  • var에는 변수에 null 값이 들어갈 수 없음
  • 초기화 없이 사용 불가함 (명시적인 대상 유형이 필요함)
  • 어떤 타입인지 정확하게 알 수 있는 경우에만 사용하는 것이 좋음
  • 람다표현식에서는 명시적인 타입을 지정해야줘함

var는 컴파일시에만 타입 추론이 일어나고 컴파일 이후엔 타입이 변하지 않음 (런타임 오버헤드가 없음), 실무사용시  추론가능한 명시적이 대상에 사용하면 간결해서 편함

'JAVA' 카테고리의 다른 글

[JAVA] 메소드 레퍼런스  (0) 2022.05.06
[JAVA] REACTIVE STREAMS  (0) 2022.05.06
[JAVA] 하이버네이트(HIBERNATE) DDL-AUTO 옵션 정리  (0) 2022.04.19
[JAVA] 어댑터 패턴  (0) 2022.04.06
[JAVA] 비트연산자  (0) 2022.02.06