본문 바로가기

etc/고급강좌(Advanced)29

[13] C# 이벤트 (C# Events) Event는 기본적으로 사용자 동작(액션)을 처리한다. 사용자 동작(액션)은 키보드 버튼 누르기, 마우스 클릭, 마우스 이동등이 해당된다. 그리고 운영체제 발생하는 알람(notification)을 처리합니다. 어플리케이션에서는 이러한 이벤트가 발생했을때 처리해야 하는 필요가 있습니다. 예를들어 이벤트는 inter-process communication 등에 사용됩니다. [이벤트는 델리게이트(Delegate)를 사용합니다]이벤트는 일반적으로 Publisher와 Subscriber 모델(패턴)으로 이해하면 좋습니다. 그리고 이벤트는 델리게이트를 이용해서 이벤트 핸들러를 맵핑하는 방법을 이용합니다. A publisher : 이벤트와 핸들러(delegate)가 선언되어 있는 클래스이다. 이벤트 델리게이트가 연결.. 2015. 2. 23.
[12] C# 델리게이트 (C# Deleages) C#델리게이트는 C/C++의 Function Pointer 개념과 매우 유사합니다. 혹시라도 C++ Function Pointer를 알고 있으시면 이해가 좀더 빨리 되실 것입니다. 그리고 좀더 알고 싶으면 구글 검색해 주세요. 차후 이 블로그에서도 내용을 다루어 보겠습니다. Delegate는 referenct type의 메소드 입니다. 개념적으로는 C# Reference Type value와 같습니다. 제가 생각하는 가장 쉽게 설명하는 방법이라고 생각합니다. 1) 델리게이트 선언 (Declaring Delegates) 및 사용(Delegate usage)delegate public delegate int MyDelegate (string s); 함수를 delegate 키워드를 붙여서 변수처럼 선언하고 사.. 2015. 2. 23.
[11] C# 인덱서(C# Indexers) C# Indexers 는 객체(class)를 배열(Array) 인덱스처럼 만들어서 사용할수 있게 하는 방법입니다. 개발자가 클래스에 인덱서(Indexers)를 선언하게 되면 내부에 C#에서 virtual array 자동 선언한후 개발자는 사용만 하면 됩니다. element-type this[int index] { // The get accessor. get { // return the value specified by index } // The set accessor. set { // set the value specified by index } }이전 강좌에서 배운 properties 개념을 확장한 것으로 보아도 됩니다. 그럼 실제로 class에서 사용하는 방법에 대해서 샘플 코드로 알아보겠습니다. u.. 2015. 2. 23.
[10]C# 접근자(C# Properties) C#에서 Properries는 속성이라고 불려지고 field를 encapsulate(은닉)할 경우에 사용합니다. 객체 지향에서는 encapsulate에 초점이 맞추어 지지만 C#에서는 바인딩(Binding) 개념에 맞추어서 사용됩니다. wpf나 mvc등에서 모델 바인딩을 할경우에 꼭 사용됩니다. 어렵지 않습니다. 아래 사용하는 방법 샘플 코드를 보고 의미를 파악한후 사용하시면 됩니다. // Code string properties 선언하기: public string Code { get { return code; } set { code = value; } } // Name property string 선언하기: public string Name { get { return name; } set { name .. 2015. 2. 23.