다음을 통해 공유


Visual Basic에서 속성과 변수의 차이점

변수와 속성은 모두 액세스할 수 있는 값을 나타냅니다. 그러나 스토리지와 구현에는 차이가 있습니다.

variables

변수는 메모리 위치에 직접적으로 해당합니다. 단일 선언문을 사용하여 변수를 정의합니다. 변수는 프로시저 내부에 정의되어 해당 프로시저 내에서만 사용할 수 있는 지역 변수이거나 모듈, 클래스 또는 구조체에 정의되어 있지만 프로시저 내부에는 없는 멤버 변수일 수 있습니다. 멤버 변수를 필드라고도 합니다.

속성

속성은 모듈, 클래스 또는 구조체에 정의된 데이터 요소입니다. PropertyEnd Property 문 사이에 코드 블록을 사용하여 속성을 정의합니다. 코드 블록에 Get 프로시저, Set 프로시저 또는 두 프로시저가 모두 포함되어 있습니다. 이러한 프로시저를 속성 프로시저 또는 속성 접근자라고 합니다. 속성 값을 검색하거나 저장하는 것 외에도 액세스 카운터 업데이트와 같은 사용자 지정 작업을 수행할 수도 있습니다.

차이점

다음 표에서는 변수와 속성 간의 몇 가지 중요한 차이점을 보여 줍니다.

차이점 변수 속성
선언 단일 선언문 코드 블록의 일련의 문
구현 단일 스토리지 위치 실행 코드(속성 프로시저)
스토리지 변수 값과 직접 연결 일반적으로 속성이 포함된 클래스나 모듈 외부에서는 내부 스토리지를 사용할 수 없습니다.

속성 값은 저장된 요소인 1로 존재하거나 존재하지 않을 수 있습니다.
실행 코드 None 하나 이상의 프로시저가 있어야 함
읽기 및 쓰기 액세스 읽기/쓰기 또는 읽기 전용 읽기/쓰기, 읽기 전용 또는 쓰기 전용
사용자 지정 작업(값 수락 또는 반환 외에) 가능하지 않음 속성 값 설정 또는 검색의 일부로 수행할 수 있음

1 변수와 달리 속성의 값은 단일 스토리지 항목에 직접적으로 해당하지 않을 수 있습니다. 스토리지는 편의 또는 보안을 위해 조각으로 분할하거나 값을 암호화된 양식으로 저장할 수 있습니다. 이러한 경우 Get 프로시저는 조각을 조합하거나 저장된 값을 해독하고 Set 프로시저는 새 값을 암호화하거나 구성 스토리지로 분할합니다. 속성 값은 하루 중 시간처럼 일시적일 수 있으며, 이 경우 속성에 액세스할 때마다 Get 프로시저가 즉시 값을 계산합니다.

참고 항목