반응형
Program.cs |
using System; public class 제네릭클래스 { public static void Main() { //기본클래스 메서드 호출 //Hello h = new Hello(); h.SayInt(1234); h.SayStr("안녕"); //제네릭 클래스 호출 Hello<int> hi = new Hello<int>(); hi.Say(1234); Hello<string> hs = new Hello<string>(); hs.Say("안녕"); //생성자 호출 Hello<string> say = new Hello<string>("반갑습니다."); say.Say(); say.SayType(); } } //제내릭 클래스 설계 public class Hello<T> //제내릭 메서드로 설정<T> { //public void SayInt(int msg) { Console.WriteLine("{0}",msg); } //public void SayStr(string msg) { Console.WriteLine("{0}",msg); } //public void SyaObj(object msg) { Console.WriteLine("{0}",msg); } //재일 편함 object 사용 public void Say(T msg) { Console.WriteLine("{0}", msg); } //제네릭 클래스 정의 //생성자만들기 private T msg; //필드 public Hello() { } //매개변수가 없는것 public Hello(T msg) { this.msg = msg; } //매개변수가 있는것 public void Say() { Console.WriteLine("{0}", this.msg); } public void SayType() { T temp; temp = default(T); //int : 0, string : null, bool = false; 기본값 출력 함(넘어오는 값이 없으면!) //default는 초기화 해주기 위해 사용 Console.WriteLine("{0}",temp); } } //제네릭클래스 똑같은 클래스를 하나로 줄인다 //하나의 변수에 제네릭사용 |
결과화면
반응형
'C#' 카테고리의 다른 글
76.C# - Attribute 특성 (에트리뷰트) (0) | 2009.08.18 |
---|---|
75.C# - 형식 매개변수에 대한 제약조건 (0) | 2009.08.18 |
73.C# - 연산자 오버로드 (0) | 2009.08.18 |
72.C# - 리스트 제네릭 클래스 ( List Generic Class) (0) | 2009.08.18 |
71.C# - 예외처리 (0) | 2009.08.17 |
Comments