∮explotación≒ 개발

java Var 함수에 대해서 알아보자

파란형 2023. 2. 15.
반응형

 

 

 

 

Var 

Java SE 10부터는 var 로컬 변수를 선언하기위한 유형 식별자. 이렇게하면 컴파일러가 생성 한 변수의 실제 유형을 결정하게합니다. 일단 생성되면이 유형을 변경할 수 없습니다.

다음 예를 고려하십시오.

String message = "Hello world!";
Path path = Path.of("debug.log");
InputStream stream = Files.newInputStream(path);
 

이 경우 세 변수의 명시 적 유형을 선언해야합니다 

var 유형 식별자 이전 코드는 다음과 같이 작성할 수 있습니다:

var message = "Hello world!";
var path = Path.of("debug.log");
var stream = Files.newInputStream(path);
 

 

Var의 예

다음 예는 사용 방법을 보여줍니다 var 코드를보다 쉽게 읽을 수 있도록 식별자를 입력하십시오.

여기 strings 변수는 유형이 주어진다 List<String> 그리고 element 변수 유형 String.

var list = List.of("one", "two", "three", "four");
for (var element: list) {
    System.out.println(element);
}
이 예에서 path 변수는 유형입니다 Path, stream 변수는 유형입니다 InputStream.
var path = Path.of("debug.log");
try (var stream = Files.newInputStream(path)) {
    // process the file
}
 

이전의 두 예제에서 var for 문과 try-with-resources 문에서 변수를 선언합니다.

이 두 문장은 나중에이 자습서에서 다룹니다.

 

Var 사용에 대한 제한

사용에 대한 제한이 있습니다 var 유형 식별자.

  1. 지역 변수 메소드, 생성자 및 초기화 블록에서 선언됩니다.
  2. var메소드 또는 생성자 매개 변수가 아닌 필드에는 사용할 수 없습니다.
  3. 변수가 선언 될 때 컴파일러는 유형을 선택할 수 있어야합니다. 이후 null 유형이 없으면 변수에 이니셜 라이저가 있어야합니다.

이러한 제한에 따라 다음 클래스는 컴파일되지 않습니다 var 필드 또는 메소드 매개 변수에 대한 유형 식별자가 불가능하기 때문입니다.

public class User  {
    private var name = "Sue";

    public void setName(var name) {
        this.name = name;
    }
}
 

다음 코드도 마찬가지입니다.

이 경우 컴파일러는 실제 유형을 추측 할 수 없습니다 message 초기화가 없기 때문입니다.

public String greetings(int message) {
    var greetings;
    if (message == 0) {
        greetings = "morning";
    } else {
        greetings = "afternoon";
    }
    return "Good " + greetings;
}
 

 

 


 

 

※ 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공 받을 수 있습니다 

 

 

 

 

 

https://tipoazul.tistory.com/
홈으로

반응형

댓글