• 회원가입
  • 로그인
  • 구글아이디로 로그인

[method] C# - Method Overloading (메서드 오버로딩)

823  
목차
  1. Method Overloading 정의
  2. Method Overloading 예제

 

Method Overloading 정의

[정의]

 

오버로딩 (= 동일 메서드명으로 여러 메서드 정의) 가능 경우.

① 매개변수 개수가 다른 경우.

② 매개변수 타입이 다른 경우.

 

PS. 단지, 매개변수명만 다른 경우엔 메서드 오버로딩 불가.  


[예제]

 

int MyMethod(int x)

 

// 개수 같아도 자료형 다른 경우, 오버로딩 가능 O.

float MyMethod(float x)

 

// 자료형 같지만 개수 다른 경우, 오버로딩 가능 O.

int MyMethod(int x, int y)

 

// 자료형과 개수 모두 다른 경우, 오버로딩 가능 O.

double MyMethod(double x, double y)


// 단지, 매개변수명만 다른 경우, 오버로딩 가능 X

int MyMethod(int y) // 에러 유발.

 

 

Method Overloading 예제

[오버로딩 사용 X 경우] - int형과 double형 함수를 각각 정의.

※ 비추천 방식.

 

using System;

namespace Homzzang

{

    class Program

    {

        static int PlusInt(int x, int y)

        {

            return x + y;

        }


        static double PlusDouble(double x, double y)

        {

            return x + y;

        }


        static void Main(string[] args)

        {

            int a = PlusInt(3, 4);

            double b = PlusDouble(2.41, 3.14);

            Console.WriteLine("int: " + a);

            Console.WriteLine("double: " + b);

        }

    }

}

 

결과값:

int: 7

double: 5.550000000000001


[오버로딩 사용 O 경우 ★] - int형과 double형 함수를 오버로딩.

※ 권장 방식.

 

using System;

namespace Homzzang

{

    class Program

    {

        static int PlusNums(int x, int y)

        {

            return x + y;

        }


        static double PlusNums(double x, double y)

        {

            return x + y;

        }


        static void Main(string[] args)

        {

            int a = PlusNums(3, 4);

            double b = PlusNums(2.41, 3.14);

            Console.WriteLine("int: " + a);

            Console.WriteLine("double: " + b);

        }

    }

}

 

결과값:

int: 7

double: 5.55


PS. 

C#은 함수명을 Plus, plus 사용해도 무방하나,

C++ 경우, 함수명을 Plus, plus 사용 시 에러 발생.

 



분류 제목
basic C# - Home (입문) - 추천 링크
basic C# - Intro (소개) - 용도・특징
basic C# - Start (시작) - Visual Studio Community 설치/실행/세팅
basic C# - Syntax (구문)
basic C# - Output (출력)
basic C# - New Lines (줄바꿈)
basic C# - Comment (주석)
basic C# - Variable (변수)
basic C# - User Input (사용자 입력)
basic C# - Data Type (데이터 타입) - 자료형 (종류 + 변환)
basic C# - Operator (연산자)
basic C# - String (문자열)
basic C# - Math (수학)
basic C# - Boolean (참거짓)
basic C# - If ... Else - (이프 조건문)
basic C# - Switch (스위치 조건문)
basic C# - While Loop (와일 반복문)
basic C# - For Loop (포 반복문)
basic C# - Break/Continue (브레이크/컨티뉴) 키워드 - 반복문 빠져나가기 / 특정 조건 건너띄기
basic C# - Arrays (배열)
1/2
목록
찾아주셔서 감사합니다. Since 2012