EEALL@ONCE

☕ 자바 자료형 - var 연산자 본문

언어💻/자바☕

☕ 자바 자료형 - var 연산자

올엣원스 2023. 8. 4. 18:41
728x90

Java 10부터 도입된 var는 Local-Variable Type Inference라고 불리는 기능의 일부입니다. 이는 개발자가 변수의 데이터 타입을 명시적으로 선언하지 않아도 컴파일러가 변수의 타입을 유추할 수 있게 해줍니다.

var list = new ArrayList<String>();  // 인스턴스 생성 시 ArrayList<String>이라는 타입을 추론
var stream = list.stream();  // list의 메서드를 통해 Stream<String> 타입을 추론

하지만 var를 사용할 때는 몇 가지 주의사항이 있습니다:

  1. var는 오직 메서드의 로컬 변수에서만 사용 가능합니다. 메서드 시그니처, 클래스 변수, 인스턴스 변수에는 사용할 수 없습니다.
  2. var는 변수가 초기화 될 때 사용해야 합니다. 이는 컴파일러가 타입을 유추할 수 있게 해주기 때문입니다.
  3. var는 null 초기화에는 사용할 수 없습니다. 이는 컴파일러가 타입을 유추하지 못하기 때문입니다.
  4. var를 사용하면 코드는 간결해지지만, 타입을 명시적으로 선언하지 않기 때문에 가독성이 떨어질 수 있습니다. 따라서 변수의 타입이 분명하거나, 해당 타입이 명확하게 나타나는 경우에만 var를 사용하는 것이 좋습니다.

마지막으로, var를 사용하더라도 실제로는 컴파일 타임에 해당 변수의 타입이 결정됩니다. 따라서 var를 사용하더라도 성능에는 영향을 주지 않습니다.

728x90