이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

Coding Groot

코딩 블로그

제네릭 프로그래밍의 정의

  • 2019.07.25 00:35
  • Programming/Algorithm
글 작성자: Coding Groot

제네릭 프로그래밍이란? 

데이터 형식과 관련 없이, 알고리즘이나 자료구조를 효율적으로 설계하는 프로그래밍 방식을 뜻한다.

나중에 정의가 되는 데이터 형식 type(int, float, double, string, ... , 등 모두될 수 있다)을 매개변수로 하는 메서드나 클래스나 인터페이스를 만드는 것과 같다.

제네릭 프로그래밍은 코드의 효율을 넓히기 위해 쓰인다. 어떤 함수를 모든 자료형이 통하도록 설계하면 자료형이 바뀔 때마다 오버로딩해서 새로 만들 필요도 없고 재사용성도 높다!


Generic C# Max Method

using System;

class Program
{
    //IComparable인 자료형 모두에 대해 동작한다.
    private static type Max(type a, type b) where type : IComparable
    {
        return a.CompareTo(b) > 0 ? a : b;
    }

    static void Main(string[] args)
    {
        int a1 = 1, b1 = 2;
        Console.WriteLine("Type이 int일 때: " + Max(a1,b1));

        float a2 = 1f, b2 = 2f;
        Console.WriteLine("Type이 float일 때: " + Max(a2, b2));

        double a3 = 1, b3 = 2;
        Console.WriteLine("Type이 double일 때: " + Max(a3, b3));
    }
}

Output:

Type이 int일 때: 2 
Type이 float일 때: 2 
Type이 double일 때: 2


Icons made by Icon Monk from www.flaticon.com

 

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 최단 경로 문제 - 다익스트라 알고리즘

    최단 경로 문제 - 다익스트라 알고리즘

    2024.04.09
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (186) N
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (20)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • aws
  • git
  • 한빛미디어
  • tutorial
  • 회고
  • Github
  • javascript
  • 서평
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바