GUI(Graphic User Interface)같은 프로그래밍을 할 때, Event Driven Programming을 하게 됩니다. 예를 들어서 마우스 클릭 같은 이벤트 말이죠. 그런 이벤트가 일어나면 그 사실을 프로그램에게 알려줄 주체가 필요합니다. 그렇게 이벤트가 일어났음을 Callback 해주는 것이 바로 delegate(대리자)입니다.
Delegate는 특정메소드에 대한 참조를 가지고 있다가 이벤트 발생 시 메소드를 호출해 줍니다.
전체 페이지뷰
2016년 12월 28일 수요일
2016년 12월 27일 화요일
C# Exception Handling
프로그램 실행 중 비정상적인 상황이 발생하면 CLR에게 던져진 에러메세지를 받아 출력하고 프로그램은 강제 종료됩니다. 이런 상황을 처리하는 방법에 대해 알아보도록 하겠습니다. 그런데 왜 에러가 안 나게 하는 법을 배우지 않고 에러를 처리하는 법을 배우는거냐고요? 가장 훌륭한 프로그래머들이 모여 가장 최첨단의 프로그램을 만드는 Microsoft에서 만든 윈도우도 에러가 나서 죽거나 멈추거나 하지 않습니까?
가장 나쁜 경우는 예외가 발생했을 때 처리되지 못하고 이유도 모른 채 죽어버리는 거죠.
그런 경우를 막는 것이 이번 배움의 목표 되겠습니다.
대문, 처음 페이지 만들기
이제 어떤 사이트를 클릭했을 때 나타나는 첫 페이지인 홈페이지를 만들겠습니다.
여기서는 저에게는 완전히 미지의 영역인 UI "디자인"이 중요하므로 HTML, 자바스크립트, 스타일시트 등의 지식이 필요하다고 합니다.
여기서는 저에게는 완전히 미지의 영역인 UI "디자인"이 중요하므로 HTML, 자바스크립트, 스타일시트 등의 지식이 필요하다고 합니다.
2016년 12월 23일 금요일
C# Generic
제네릭은 C# 2.0부터 CLR에 포함되었습니다. 형식 매개 변수라는 개념을 통해 하나 이상의 형식에 대한 메소드 등을 정의하고 인스턴스가 생성될 때에 형식을 정해주어, 불필요한 박싱을 피하고 런타임에 형식을 캐스팅하는 위험을 덜어주는 방법입니다.
2016년 12월 21일 수요일
C# Collection, Indexer
.NET 프레임워크는 배열 말고도 많은 데이터 모음에 대한 자료구조를 제공합니다.
그 중에서 ArrayList, Queue, Stack, Hashtable 에 대해서 간략히 알아보겠습니다.
(제너릭에 해당하는 List 등은 다음에 알아보겠습니다. 제너릭은 정해진 형식만을 취급할 수 있고 지금 말하는 형식은 Object에 해당하여 아무 형식이나 다 가능합니다.)
System.Collections 네임스페이스를 사용합니다.
C# Property
OOP의 기본 중에 은닉성을 보장하기 위해 지금까지 우리는 마치 C++이나 자바처럼 private이나 protected 한정자로 필드를 숨기고, 이 필드에 접근하는 메소드를 public으로 공개하여 필드를 다루는 방법을 써 왔습니다. 그러나 C#에서는 좀 더 쉽게 이런 방법을 구현할 수가 있고 이것을 property라 부릅니다.
피드 구독하기:
글 (Atom)


