변수와 속성은 모두 액세스할 수 있는 값을 나타냅니다. 그러나 스토리지와 구현에는 차이가 있습니다.
변수
변수는 메모리 위치에 직접 해당합니다. 단일 선언 문을 사용하여 변수를 정의합니다. 변수는 프로시저 내에서 정의되고 해당 프로시저 내에서만 사용할 수 있는 지역 변수이거나, 모듈, 클래스 또는 구조체에 정의되어 있지만 프로시저 내에는 정의되지 않은 멤버 변수일 수 있습니다. 멤버 변수를 필드라고도합니다.
속성
속성은 모듈, 클래스 또는 구조체에 정의된 데이터 요소입니다.
Property
와 End Property
명령문 사이에 코드 블록으로 속성을 정의합니다. 코드 블록에는 Get
프로시저, Set
프로시저 또는 둘 다 포함됩니다. 이러한 프로시저를 속성 프로시저 또는 속성 접근자라고 합니다. 속성 값을 검색하거나 저장하는 것 외에도 액세스 카운터 업데이트와 같은 사용자 지정 작업을 수행할 수도 있습니다.
차이점
다음 표에서는 변수와 속성 간의 몇 가지 중요한 차이점을 보여 줍니다.
차이점 | 변수 | 재산 |
---|---|---|
선언 | 단일 선언 문 | 코드 블록 내 명령문의 일련의 시리즈 |
이행 | 단일 스토리지 위치 | 실행 코드(속성 프로시저) |
스토리지 | 변수 값과 직접 연결됨 | 일반적으로 속성의 포함하는 클래스 또는 모듈 외부에서는 내부 스토리지를 사용할 수 없습니다. 속성 값이 저장된 요소 1로 존재하거나 존재하지 않을 수 있음 |
실행 코드 | 없음 | 프로시저가 하나 이상 있어야 합니다. |
읽기 및 쓰기 액세스 | 읽기/쓰기 또는 읽기 전용 | 읽기/쓰기, 읽기 전용 또는 쓰기 전용 |
사용자 지정 작업(값 수락 또는 반환 외에) | 가능하지 않음 | 속성 값 설정 또는 검색의 일부로 수행할 수 있습니다. |
1 변수와 달리 속성 값은 스토리지의 단일 항목에 직접 해당하지 않을 수 있습니다. 스토리지는 편의상 또는 보안을 위해 조각으로 분할되거나 값이 암호화된 형식으로 저장될 수 있습니다. 이러한 경우 프로시저는 Get
조각을 어셈블하거나 저장된 값의 암호를 해독하며 Set
, 프로시저는 새 값을 암호화하거나 구성 스토리지로 분할합니다. 속성 값은 하루 중 시간과 같이 일시적일 수 있으며, 이 경우 Get
프로시저는 속성에 액세스할 때마다 즉석에서 계산합니다.
참고하십시오
.NET