제네릭이란 무엇일까?제네릭은 일반화 프로그래밍이라 불리며다양한 형식의 데이터 타입을 로 일반화한 것 입니다.제네릭은 int, flaot, string과 같이 데이터 타입을 확정짓지 않고타입 파라미터(Type Paramitter)로 정의합니다. 제네릭 타입 안에 들어올 수 있는 형식은 다음과 같습니다.int, string, float와 같은 기본 형식열거형(Enum)클래스와 구조체같은 사용자 정의 형식 인터페이스 (Interface) 배열 (Array) 델리게이트 (Delegate) 제네릭의 장점코드의 재사용성제네릭을 사용하게 되면 동일한 코드를 여러가지 타입을 이용해재사용할 수 있어 코드의 중복을 줄이고 유지 보수성을 높여줍니다. 타입 안정성타입 검사를 통해 타입 안정성을 보장할 수 있습니다.이는 ..
오늘은 이전에 알아볼 델리게이트와 비슷한 대리자들인Event, Action, Func에 대해 알아보겠습니다. Eventevent는 델리게이트와 유사하지만 몇가지 차이점이 있습니다. 1. event는 인터페이스에서 선언이 가능하지만 델리게이트는인터페이스에서 선언이 불가합니다. 2. event는 public도 외부 클래스에서 호출을 하지 못합니다. event를 사용하면 외부클래스에서 접근하지 못하기 때문에코드의 캡슐화를 가능하게 한다는 장점이 있습니다. 또한 event는 주로 어떤 상황이 발생하였을때 알리는 용도로 사용됩니다.이를 이용해 옵저버 패턴이라는 디자인 패턴을 만들어 사용하기도 합니다. ActionAction은 반환타입이 void인 델리게이트입니다.namespace System{ public ..
델리게이트란?델리게이트를 직역하면 '대리자'라는 뜻이다.매소드의 주소를 참조해 대신 호출해 주는 역할을 합니다. 메소드를 참조하기 때문에 메소드의 반환 형식과 매게 변수를 동일하게 명시 해야합니다. 사용하는 이유델리게이트의 가장 큰 장점은 이벤트가 발생하였을 때여러개의 매소드를 동시에 호출할 수 있다는 점입니다. 예를들어, 몬스터를 처치하였을때 코인과 경험치 등을 얻게 됩니다.이것들을 코인 매소드와 경험치 매소드로 분류한 다음델리게이트에 연결시켜 동시에 호출되게 만드는 겁니다. 선언하는 방법delegate void MyDele(int n, string str);deletegate [반환형] [이름] (메게변수) 로 선언할 수 있습니다. 사용하는 방법델리게이트를 이용해 몬스터 처치 시 발생하는 이벤트들을동..