다음을 통해 공유


Static(Visual Basic)

선언된 하나 이상의 지역 변수가 계속 존재하도록 지정하고 선언된 프로시저가 종료된 후 최신 값을 유지하도록 지정합니다.

비고

일반적으로 프로시저의 지역 변수는 프로시저가 중지되는 즉시 존재하지 않습니다. 정적 변수는 계속 존재하며 가장 최근의 값을 유지합니다. 다음에 코드에서 프로시저를 호출할 때 변수는 다시 초기화되지 않으며 할당한 최신 값이 계속 유지됩니다. 정적 변수는 정의된 클래스 또는 모듈의 수명 동안 계속 존재합니다.

규칙

  • 선언 컨텍스트입니다. 지역 변수에만 사용할 Static 수 있습니다. 즉, 변수의 Static 선언 컨텍스트는 프로시저의 프로시저 또는 블록이어야 하며 소스 파일, 네임스페이스, 클래스, 구조 또는 모듈일 수 없습니다.

    구조체 프로시저 내에서는 사용할 Static 수 없습니다.

  • 지역 변수의 Static 데이터 형식을 유추할 수 없습니다. 자세한 내용은 로컬 형식 유추를 참조하세요.

  • 결합된 한정자입니다. 또는 동일한 선언과 함께 ReadOnlyShadowsShared 지정할 Static 수 없습니다.

행동

프로시저에서 정적 변수를 Shared 선언하면 전체 애플리케이션에서 정적 변수의 복사본을 하나만 사용할 수 있습니다. 클래스의 인스턴스를 Shared 가리키는 변수가 아니라 클래스 이름을 사용하여 프로시저를 호출합니다.

프로시저에 정적 변수를 선언하지 Shared않으면 클래스의 각 인스턴스에 대해 하나의 변수 복사본만 사용할 수 있습니다. 클래스의 특정 인스턴스를 가리키는 변수를 사용하여 비공유 프로시저를 호출합니다.

예시

다음 예에서는 Static의 사용법을 보여줍니다.

Function updateSales(ByVal thisSale As Decimal) As Decimal
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
End Function

변수 totalSalesStatic 한 번만 0으로 초기화됩니다. 입력 updateSalestotalSales 할 때마다 계산한 가장 최근 값이 계속 있습니다.

한정자는 다음 Static 컨텍스트에서 사용할 수 있습니다.

Dim 문

참고하십시오