선언된 하나 이상의 지역 변수가 계속 존재하도록 지정하고 선언된 프로시저가 종료된 후 최신 값을 유지하도록 지정합니다.
비고
일반적으로 프로시저의 지역 변수는 프로시저가 중지되는 즉시 존재하지 않습니다. 정적 변수는 계속 존재하며 가장 최근의 값을 유지합니다. 다음에 코드에서 프로시저를 호출할 때 변수는 다시 초기화되지 않으며 할당한 최신 값이 계속 유지됩니다. 정적 변수는 정의된 클래스 또는 모듈의 수명 동안 계속 존재합니다.
규칙
선언 컨텍스트입니다. 지역 변수에만 사용할
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
변수 totalSales 는 Static 한 번만 0으로 초기화됩니다. 입력 updateSalestotalSales 할 때마다 계산한 가장 최근 값이 계속 있습니다.
한정자는 다음 Static 컨텍스트에서 사용할 수 있습니다.
참고하십시오
.NET