다음을 통해 공유


Overloads

업데이트: 2007년 11월

속성 또는 프로시저에서 하나 이상의 기존 속성이나 프로시저를 같은 이름으로 다시 선언하도록 지정합니다.

설명

오버로딩은 같은 범위에서 지정된 속성이나 프로시저에 대해 둘 이상의 정의를 제공하는 방법입니다. 다른 시그니처로 속성이나 프로시저를 다시 선언하는 것을 시그니처로 숨기기라고도 합니다.

규칙

  • 선언 컨텍스트. 속성이나 프로시저 선언 문에서만 Overloads를 사용할 수 있습니다.

  • 결합 한정자. 같은 프로시저 선언에 Overloads와 Shadows를 모두 지정할 수는 없습니다.

  • 필수 차이. 이 선언의 시그니처는 오버로드되는 모든 속성 또는 프로시저의 시그니처와 달라야 합니다. 시그니처는 속성 또는 프로시저 이름 및 다음 항목으로 구성됩니다.

    • 매개 변수 수

    • 매개 변수의 순서

    • 매개 변수의 데이터 형식

    • 형식 매개 변수 수(제네릭 프로시저의 경우)

    • 반환 형식(변환 연산자 프로시저에만 해당)

    모든 오버로드는 이름이 같아야 하지만 위에서 설명한 하나 이상의 항목에서 서로 달라야 합니다. 컴파일러는 이러한 차이에 따라 코드에서 속성 또는 프로시저를 호출할 때 사용할 버전을 구분할 수 있습니다.

  • 허용되지 않는 차이. 다음은 시그니처에 포함되지 않기 때문에 이 중 하나 이상을 변경하면 속성 또는 프로시저를 오버로드할 수 없습니다.

    • 값을 반환하는지 여부(프로시저의 경우)

    • 반환 값의 데이터형식(변환 연산자 제외)

    • 매개 변수 또는 형식 매개 변수의 이름

    • 형식 매개 변수에 관한 제약 조건(제네릭 프로시저의 경우)

    • 매개 변수 한정자 키워드(예: ByRef 또는 Optional)

    • 속성 또는 프로시저 한정자 키워드(예: Public 또는 Shared)

  • 선택적 한정자. 같은 클래스에서 여러 개의 오버로드된 속성 또는 프로시저를 정의하는 경우에는 Overloads 한정자를 사용하지 않아도 됩니다. 그러나 특정 선언에서 Overloads를 사용하는 경우 모든 선언에서 Overloads를 사용해야 합니다.

  • **숨김 및 오버로딩.**Overloads를 사용하여 기본 클래스의 기존 멤버나 오버로드된 멤버 집합을 숨길 수도 있습니다. 이런 방법으로 Overloads를 사용할 때는 기본 클래스 멤버와 같은 이름 및 같은 매개 변수 목록을 사용하여 속성이나 메서드를 선언하지만 Shadows 키워드를 제공하지 않습니다.

Overloads 한정자는 다음 컨텍스트에서 사용할 수 있습니다.

Function 문

Operator 문

Property 문

Sub 문

참고 항목

작업

방법: 변환 연산자 정의

개념

프로시저 오버로딩

Visual Basic의 제네릭 형식

연산자 프로시저

참조

Shadows