다음을 통해 공유


Visual Basic의 속성과 변수 간의 차이점

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

변수

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

속성

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

차이점

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

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

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

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

참고하십시오