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 키워드란?  (1) 2023.09.30
C#의 동적 변수란?  (0) 2023.09.29
C#의 2차원 배열이란?  (0) 2023.09.28
'C#' 카테고리의 다른 글
  • 코드 실행시간 측정 : Stopwatch
  • C#에서 입출력을 다루는 방법
  • C#의 var 키워드란?
  • C#의 동적 변수란?
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바