일반화
-
[C#] Delegate에 대한 공부(2)C# 2022. 3. 22. 08:41
저번시간에는 Delegate의 간단한 정의와 사용법에 대해 알아봤습니다. 그럼이제 Delegate활용 중 하나인 일반화와 Delegate의 활용법에 대해 알아봤습니다. 많이 길어졌네요. Delegate를 공부 중에 일반화를 몰라 먼저 공부해보다보니... 괄호 사이에 형식 매개변수를 넣어주면 됩니다. 간단한 예시입니다. Array를 통해 오름차순, 내림차순으로 Sorting하는 코드입니다. Sorting방법은 버블소트입니다. delegate int Comparer(T a, T b); 먼저 사용할 delegate를 선언해 줍니다. int를 사용하는 이유는 추후에 설명드리겠습니다. static int AscendCompare(T a, T b) where T:IComparable { return a...
-
[C#] 일반화(3)C# 2022. 3. 2. 23:51
쓰다보니 일반화관련 길이 길어지네요. 이렇게 코딩은 알아가면 알아갈수록 어렵네요. 이번에는 일반화 컬렉션입니다. 기존 Collection들은 Object형태입니다. 일반화 Collection은 일반화에 기반해 컴파일시 사용될 형식이 결정돼 쓸데없는 형변환이 없습니다. 사용법은 일단 using을 통해 System.Collections.Generic 으로 사용할 수 있습니다. 일반화 Collection Collection List ArrayList Queue Queue Stack Stack Dictionary Hashtable 일반화 Collection과 기존 Collection의 차이입니다. 일반화에서 사용했던 가 붙는다는게 일단 가장 큰 차이점이겠네요. Queue의 예제입니다. 간단하게 문자열에 대해서 ..
-
[C#] 일반화(2)C# 2022. 1. 25. 10:38
저번시간에 이어 일반화에 대해 좀 더 알아보겠습니다. 저번에는 특정 메소드에 대해서만 일반화를 진행했는데 이번에는 Class자체의 일반화, 그리고 일반화에 대한 제한사항 설정에 대해 알아보겠습니다. Class의 일반화 사용방법은 간단합니다. class 클래스이름 { // } 이런 구조입니다. class 일반화는 어디서 사용할까요? 한가지 예시 코드를 보여드리겠습니다. class Array_Int { private int[] array; public int GetElement(int index) { return array[index]; } } class Array_Double { private double[] array; public double GetElement(int index) { return ar..
-
[C#] 일반화(1)C# 2022. 1. 14. 09:07
안녕하세요. 오늘은 간단하게 일반화에 대해 알아보겠습니다. C#은 공부하고공부해도 참 다양한 기능들이 있는것 같습니다. 근데왜 한국에서는 인기가 없는지 아쉽네요. 일반화와 관련된 부분은 '뇌를 자극하는 C#5.0 프로그래밍' 책내용을 토대로 공부했습니다. 먼저 일반화란 "특수한 개념으로부터 공통된 개념을 찾아 묶는 것"입니다. 하나의 예를들어 일반화에대한 필요성을 설명해 보겠습니다. 정수를 복사하는 메소드를 하나 만들었습니다. 만들고보니 문자열도 복사하는 메소드가 하나 필요하네요. void CopyArray(int [] source, int [] target) { for(int i=0;i