리플렉션과 애트리뷰트(Reflection and attributes)

리플렉션과 애트리뷰트(Reflection and attributes)

리플렉션(Reflection) C#에서는 프로그램 실행 도중에 객체의 정보를 조사하거나, 다른 모듈에 선언된 인스턴스를 생성하거나, 기존 개체에서 형식을 가져오고 해당하는 메소드를 호출, 또는 해당 필드와 속성에 접근할 수 있는 기능을 제공하는 ‘리플렉션(Reflection)’이라는 녀석이 존재합니다. 오늘은 아래와 같은 메소드들을 알아보려고 합니다. 형식 메소드 설명 Type GetType() 지정된 형식의 Type 개체를 가져옵니다. MemberInfo[] GetMembers() 해당 형식의 멤버 목록을 가져옵니다. … 더 읽기

델리게이트와 이벤트(Delegates and Events)

델리게이트와 이벤트(Delegates and Events)

델리게이트(Delegate) 오늘은 델리게이트(Delegate)에 대해서 알아보려고 합니다. 델리게이트는 한마디로 말해서 대리자라고 말할 수 있습니다. 즉, 대신 일을 해주는 녀석이라고 할 수 있겠죠? 다른 말로 해서는 메소드 참조를 포함하고 있는 영역이라고 말할 수 있습니다. 아래는 델리게이트의 선언 형식입니다. 위의 선언 형식을 보아하니, 델리게이트가 메소드같이 생겼죠? 델리게이트는 위에서 말한 대로, 메소드의 참조를 포함합니다. ‘메소드를 참조한다니, 그럼 메소드를 매개변수로 … 더 읽기

컬렉션(Collection)

컬렉션(Collection)

컬렉션(Collection) 우리가 이번 강좌에서 배우게될 ‘컬렉션(Collection)’이 뭐하는 녀석인지 간단히 알아봅시다. 컬렉션은 데이터의 검색과 저장을 위해 특화된 것이라고 말할 수 있습니다. 자료구조(Data Structure) 라고도 말할 수 있습니다. 컬렉션에서는 배열 리스트(Array List), 해시 테이블(Hash table), 큐(Queue), 스택(Stack) 등을 지원합니다. 하나하나 다 설명 배열 리스트(ArrayList) 배열 리스트란 배열과 가장 비슷하면서도 크기가 유연(동적)합니다. 배열 리스트에는 Add, BinarySearch, Clear, Contain, Insert, … 더 읽기

예외 처리(Exception handling)

예외 처리(Exception handling)

예외 처리(Exception handling) 지금까지 강좌를 진행하면서, 그 예제를 응용하여 프로그램을 만드시면서 예외가 발생하신 적이 있나요? 여기서 예외란, 프로그램을 실행하다 도중에 예기치 않은 일이 벌어져 프로그램이 종료되는 것을 말합니다. 예를 들면 어떠한 수를 0으로 나눈다던가, 음수의 제곱근을 구하는 경우라던가, 어떤 인수의 값이 텅텅 비어있던가 등 논리적으로 어긋난 상황에 마주치면 프로그램은 어김없이 예외를 내보내고 프로그램이 종료되어버릴 것입니다. … 더 읽기

인터페이스(Interface)

인터페이스(Interface)

인터페이스(Interface) 이번 강좌에서는 ‘인터페이스(Interface)’에 대해 알아보려고 합니다. 인터페이스라고 하니, 어디서 많이 들어보신것 같죠? 사전적 의미로는 ‘사용자인 인간과 컴퓨터를 연결하여 주는 장치. 키보드나 디스플레이 따위를 이른다.’, ‘서로 다른 두 시스템, 장치, 소프트웨어 따위를 서로 이어 주는 부분. 또는 그런 접속 장치.’라는 의미를 담고 있습니다.  예를 들어, 키보드나 모니터 등을 사용하기 위해서 USB 포트에 연결시키면 컴퓨터가 이를 … 더 읽기