VB.NET 2008/VB - 문법

문법 - 선언된 요소

본클라쓰 2011. 4. 5. 11:02

 

선언 요소는 선언문에 정의되는 프로그래밍 요소이다. 선언 요소에는 변수, 상수, 열거형, 클래스, 구조체, 모듈, 인터페이스, 프로시저, 프로시저 매개 변수, 함수 반환 값, 외부 프로시저 참조, 연산자, 속성, 이벤트 및 대리자 포함된다.

 

선언 요소의 특징은 코드가 이 요소와 상호 작용하는 방식에 영향을 주는 부분을 말한다. 선언된 모든 요소에는 다음 특징이 하나 이상 연결되어 있다.

 

˚ 데이터 형식 - 요소에 사용할 수 있는 값과 이러한 값이 저장되는 방식

˚ 수명 - 요소를 사용할 수 있는 실행 기간

˚ 범위 - 요소 이름을 한정하지 않고 이를 참조할 수 있는 모든 코드 잡합

˚ 액세스 수준 - 코드가 요소를 사용할 수 있는 권한

 

 

 

선언된 요소의 수명은 선언 요소를 사용할 수 있는 기간을 의미한다. 변수는 수명이 있는 유일한 요소이다. 이를 위해 컴파일러에서는 프로시저 매개 변수와 함수 반환 값을 특별한 경우의 변수로 간주한다. 변수의 수명은 변수가 가질 수 있는 기간을 나타낸다. 이 기간 동안 변수의 값은 변할 수 있지만 항상 어떤 값을 가진다.

 

선언된 요소의 범위는 선언 요소의 이름을 한정하거나 imports 문을 통하지 않고 선언 요소를 참조할 수 있는 모든 코드 집합이다. 선언된 요소는 블록 범위(요소가 선언된 블록 내에서만 사용 가능), 프로시저 범위(요소가 선언된 프로시저 내의 모든 코드에서 사용 가능), 모듈 범위(요소가 선언된 모듈, 클래스 또는 구조체 내의 모든 코드에서 사용 가능), 네임스페이스 범위(요소가 선언된 네임스페이스의 모든 코드에서 사용 가능) 등의 범위가 있다.

 

이러한 범위의 수준은 가장 좁은 범위(블록)로부터 가장 넓은 범위(네임스페이스)로 확장되며, 여기서 가장 좁은 범위는 한정자 없이 요소를 참조할 수 있는 가장 작은 코드 집합을 의미한다.

 

선언 요소의 액세스 수준은 해당 요소에 액세스할 수 있는 범위, 즉 해당 요소를 읽거나 쓸 수 있는 코드 범위를 나타낸다. 액세스 수준은 요소 자체를 선언한 방법뿐만 아니라 해당 요소의 컨테이너에 대한 액세스 수준에 의해서도 결정된다. 포함하는 요소에 액세스 할 수 없는 코드는 포함된 모든 요소에도 액세스할 수 없습니다. 이는 포함된 요소가 public으로 선언된 경우에도 해당된다.

 

public 키워드로 선언된 요소는 같은 프로젝트의 코드, 해당 프로젝트를 참조하는 다른 프로젝트 및 해당 프로젝트에서 빌드된 어셈블리에서 액세스할 수 있다.

 

protected 키워드로 선언된 요소는 같은 클래스 또는 해당 클래스에서 파생된 클래스에서만 액세스할 수 있다.

 

Friend 키워드로 선언된 요소는 같은 어셈블리 내에서만 액세스할 수 있고 어셈블리 외부에서는 액세스할 수 없다.

 

protected Friend 키워드로 선언된 요소는 파생된 클래스나 같은 어셈블리 내에서 액세스할 수 있다.

 

Private 키워드로 선언된 요소는 같은 모듈, 클래스 또는 구조체 내에서만 액세스할 수 있다.