C#의 오버로딩이란?

2023. 10. 1. 11:35·C#
반응형

C#의 오버로딩은 같은 이름의 메서드나 생성자를 여러 개 선언하는 기법입니다. 각 메서드나 생성자는 매개변수의 개수, 타입, 순서가 다르지만, 이름은 동일합니다.

 

오버로딩의 장점

오버로딩은 다음과 같은 장점이 있습니다.

  • 코드를 간결하게 작성할 수 있습니다.
  • 사용자의 편의성을 높일 수 있습니다.
  • 코드의 재사용성을 높일 수 있습니다.

오버로딩의 단점

오버로딩은 다음과 같은 단점이 있습니다.

  • 메서드나 생성자를 구분하기 어려울 수 있습니다.
  • 메모리 사용량이 증가할 수 있습니다.

오버로딩의 사용법

오버로딩을 사용하려면 다음과 같은 사항을 유의해야 합니다.

  • 메서드나 생성자의 이름은 동일해야 합니다.
  • 메서드나 생성자의 매개변수의 개수, 타입, 순서는 달라야 합니다.
  • 메서드나 생성자의 반환 타입은 같을 수도 있고 다를 수도 있습니다.

오버로딩의 예시

다음은 오버로딩을 사용하는 예시입니다.

// Add 메서드의 오버로딩
public static int Add(int x, int y)
{
    return x + y;
}

public static double Add(double x, double y)
{
    return x + y;
}

// Main 메서드
public static void Main()
{
    // int 타입의 값을 더합니다.
    int result = Add(10, 20);
    Console.WriteLine(result); // 30

    // double 타입의 값을 더합니다.
    double result2 = Add(10.0, 20.0);
    Console.WriteLine(result2); // 30.0
}

이 코드는 Add 메서드를 오버로딩하여 int 타입과 double 타입의 값을 더할 수 있습니다.

 

오버로딩의 제한사항

오버로딩은 다음과 같은 제한사항이 있습니다.

  • 메서드나 생성자의 매개변수의 개수는 같을 수 없습니다.
  • 메서드나 생성자의 매개변수의 타입은 같을 수 없습니다.
  • 메서드나 생성자의 매개변수의 순서는 같을 수 없습니다.
  • 메서드나 생성자의 반환 타입은 같을 수도 있고 다를 수도 있습니다.

 

결론

오버로딩은 같은 이름의 메서드나 생성자를 여러 개 선언하는 기법입니다. 오버로딩은 코드를 간결하게 작성하고, 사용자의 편의성을 높이고, 코드의 재사용성을 높이는 데 사용할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

코드 실행시간 측정 : Stopwatch  (3) 2023.10.17
C#에서 입출력을 다루는 방법  (0) 2023.10.13
C#의 var 키워드란?  (0) 2023.09.30
C#의 동적 변수란?  (0) 2023.09.29
C#의 2차원 배열이란?  (0) 2023.09.28
'C#' 카테고리의 다른 글
  • 코드 실행시간 측정 : Stopwatch
  • C#에서 입출력을 다루는 방법
  • C#의 var 키워드란?
  • C#의 동적 변수란?
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (545) N
      • 상품 추천 (54)
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (128)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50) N
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    Python
    cv2
    C#
    스크립트 실행
    programming101
    쇼핑몰리뷰
    상품 리뷰 크롤링
    codingtips
    리뷰관리
    스크립트 실행 순서
    리스트
    카페24리뷰이관
    카페24리뷰
    devlife
    믈레코비타멸균우유
    유니티
    programmerlife
    라떼우유
    learntocode
    리뷰이관
    list
    파이썬
    ipcamera
    셀레니움
    스마트스토어리뷰
    appdevelopment
    rtsp
    codingcommunity
    긴유통기한우유
    unity
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C#의 오버로딩이란?
상단으로

티스토리툴바