Overloads
업데이트: 2007년 11월
속성 또는 프로시저에서 하나 이상의 기존 속성이나 프로시저를 같은 이름으로 다시 선언하도록 지정합니다.
설명
오버로딩은 같은 범위에서 지정된 속성이나 프로시저에 대해 둘 이상의 정의를 제공하는 방법입니다. 다른 시그니처로 속성이나 프로시저를 다시 선언하는 것을 시그니처로 숨기기라고도 합니다.
규칙
선언 컨텍스트. 속성이나 프로시저 선언 문에서만 Overloads를 사용할 수 있습니다.
결합 한정자. 같은 프로시저 선언에 Overloads와 Shadows를 모두 지정할 수는 없습니다.
필수 차이. 이 선언의 시그니처는 오버로드되는 모든 속성 또는 프로시저의 시그니처와 달라야 합니다. 시그니처는 속성 또는 프로시저 이름 및 다음 항목으로 구성됩니다.
매개 변수 수
매개 변수의 순서
매개 변수의 데이터 형식
형식 매개 변수 수(제네릭 프로시저의 경우)
반환 형식(변환 연산자 프로시저에만 해당)
모든 오버로드는 이름이 같아야 하지만 위에서 설명한 하나 이상의 항목에서 서로 달라야 합니다. 컴파일러는 이러한 차이에 따라 코드에서 속성 또는 프로시저를 호출할 때 사용할 버전을 구분할 수 있습니다.
허용되지 않는 차이. 다음은 시그니처에 포함되지 않기 때문에 이 중 하나 이상을 변경하면 속성 또는 프로시저를 오버로드할 수 없습니다.
값을 반환하는지 여부(프로시저의 경우)
반환 값의 데이터형식(변환 연산자 제외)
매개 변수 또는 형식 매개 변수의 이름
형식 매개 변수에 관한 제약 조건(제네릭 프로시저의 경우)
매개 변수 한정자 키워드(예: ByRef 또는 Optional)
속성 또는 프로시저 한정자 키워드(예: Public 또는 Shared)
선택적 한정자. 같은 클래스에서 여러 개의 오버로드된 속성 또는 프로시저를 정의하는 경우에는 Overloads 한정자를 사용하지 않아도 됩니다. 그러나 특정 선언에서 Overloads를 사용하는 경우 모든 선언에서 Overloads를 사용해야 합니다.
**숨김 및 오버로딩.**Overloads를 사용하여 기본 클래스의 기존 멤버나 오버로드된 멤버 집합을 숨길 수도 있습니다. 이런 방법으로 Overloads를 사용할 때는 기본 클래스 멤버와 같은 이름 및 같은 매개 변수 목록을 사용하여 속성이나 메서드를 선언하지만 Shadows 키워드를 제공하지 않습니다.
Overloads 한정자는 다음 컨텍스트에서 사용할 수 있습니다.