본문 바로가기

728x90
반응형

Programming

(151)
C# Event 이번에는 지난번 보았던 델리게이트를 이용하는 Event에 대해서 알아보겠습니다. Event는 많은 분들이 어떤 개념인지 알고 계실겁니다. 우리가 키보드로 입력을 하거나 마우스를 움직이거나 클릭하는 모든 것들이 이벤트입니다. 마우스를 움직일때도 이벤트가 넘어가고 클릭했을 때도 이벤트가 걸려 있어 해당 행동을 하게 되어 클릭이 되고 마우스 커서가 움직이고 키보드로 글씨를 입력할 수 있는 것입니다. 이벤트는 위에서 말했듯이 델리게이트를 통하여서 구현이 됩니다. 이벤튼 여러 개의 작업들이 추가 될 수 있어야 하고 그 작업들은 외부 메서드를 필요로 할 수도 있습니다. 그런 작업을 위해서는 델리게이트가 필요로 하게되죠. 그래서 전에 델리게이트에 대해서 저는 공부를 먼저 했던거죠. 보통 책에서도 이런식으로 나오더군요..
C# delegate C#를 시작한지 1년이 되가는데요. 그 일년동안 꽤 많은 것을 공부했다고 생각했지만 그 공부한 것들중에서 정말 이해가지 않던것이 있었습니다. 그게 바로 delegate입니다. delegate는 공부하면서도 뭔지는 알겠지만 그것을 꼭 써야하는 이유나 언제 써야하는지는 정말 알지를 못하겠더군요. 제가 asp.net 위주로 공부를 많이하고 실무도 웹쪽을 많이 하다보니 그런것인지 delegate를 쓰질 않게 되더군요. 서론이 조금 길었네요. 그럼 지금부터 정말 델리게이트에 대해서 공부해보겠습니다. 델리게이트는 프로그램에서 어떤 기능을 대신 수행해주는 대리자 역할을 하게됩니다. 델리게이트는 사용자 정의형으로써 클래스와 같은 위치에서 선언되고 선언 형식은 메서드와 동일한 형식으로 선언되죠. 선언 형태는 다음과 같습..
FileAndDirectory 회사 일도 바쁘고 새해라가 여기저기 바쁘게 돌아다니고 그래서 제대로 포스팅을 하질 못했었습니다. 이제야 다시 마음잡고 공부하면서 포스팅을 하려고 하는데요. 집에서 하려니...모니터가 듀얼이 아니네요...거기에다 컴퓨터 사양까지 ㅎㄷㄷ 뭐 그렇다고요 ^^ 이번에는 File과 Directory를 찾아주는...음...일종의 커맨드 창에서 dir를 한 것과 비슷한 효과를 낼 수 있는 방법에 대해서 알아 보려고 해요~어떤분들에게는 참 간단한 문제일 수도 있고 저같은 초보에게는 몇시간을 공부해야 겨우 만들수 있는 문제이기도 하죠 ^^ 그럼 우선 디렉토리를 가져오는 방법을 한번 알아보도록 하겠습니다. 쉽게 설명을 하기 위해서 C:\의 디렉토리정보를 가져오도록 하죠. 실행 화면은 저희 집의 컴퓨터를 대상으로 한것이기 ..
C# File Input/Output 이제 정말 제가 어려워 하는 쪽으로 한발한발 다가서고 있네요 잘 모르는것을 공부하면서 포스트에 하나하나 옮기는 것이기 때문에 내용은 상당히 허접할 수 밖에 없다는 것을 이해해 주시길 바라고요~그럼 힘차게 다시 나아가보겠습니다~ I/O는 하드웨어의 디스켓이나 Usb 기타 저장장소에 데이터를 저장 또는 출력해주는 역할을 하고 있습니다. 보통 stream을 통해 하드웨어에 접근할 수 있죠, stream은 byte[]로 정의되어 있어 byte[]를 통해서 접근해야 되는 것입니다. I/O 처리시 객체와 문자열(text)로 구성되는데요 겍체는 binary 데이터로 읽고 쓰는 형식이 달라서 쓰여진 형식으로만 읽을 수 있는 데이터를 말합니다. text 데이터는 항상 읽고 쓸수 있는 데이터를 말하고 있지요~ 파일을 입출..
C# Collection 몇일 쉬었다가 다시 글을 쓸려니 왠지 적응도 안되고 아침 내내 추위에 덜덜 떨어서 머리상태도 병맛(?)이고 -_-;;;안좋은 상태에서 글을 남기게 되내요 ㅎㄷㄷ 이번에는 Collection이란 넘을 알아보려고 합니다. System.Collections 여기에 담겨져 있는 수많은 collections 클래스를 쓸수가 있죠. 최근 경향은 제네릭형을 많이 쓰자는 경향이라서 Collections 보다는 Collections.Generic의 클래스들을 더 많이 사용하고는 있는데요. 둘의 차이라고 한다면 유연한 타입 변경이라고 할 수가 있겠지요. 제네릭에 대해서는 다음기회에 알아보도록 하고요 ^^(솔직히 아는게 별로 없어서 ㅜㅜ 죄송합니다 (_ _) Collection도 배운게 별로 없는지라 깊게는 못들어갈 꺼 같..
Interface 인터페이스에 대해서 알아볼까합니다. 우선 걱정이 앞서는데요 제가 C#을 공부하면서 제일 거부감 느끼고 여려워 했던 부분중에 하나라서 과연 제대로 글을 써질지, 이상한 소리만 하다가 끝나는건 아닌지 걱정되네요. 그래도 도움을 드릴 수 있다는 생각을 용기내어 열심히 나아가보도로 하죠!!!!! 인터페이스 그것이 과연 무엇일까요? 인터페이스는 추상적인 멤버들을 의미상으로 연결한 모음이라고 할 수 있지요. 단지 추상화된 멤버들의 집합 이것이 인터페이스 자체인것입니다. 그럼 또 이런 의문점이 생기게 됩니다. 그럼 그냥 abstract class를 쓰면되지 귀찮게 interface란걸 쓰냐 이런 의문점이죠. abstract class의 경우는 일반적으로 덩치가 커지게 됩니다. public, private, prote..
Class(5) 클래스의 마지막 시간이 될 것 같네요. 이번 시간도 상속에 대한 내용을 토대로 이야기 해보려 합니다. 상속? 그게 뭐야 라는 분은 이전 포스트 중에 Class(3), Class(4)를 읽어 보시기 바랍니다~ http://darkangelus.tistory.com/entry/Class3 http://darkangelus.tistory.com/entry/Class4 위 주소에 있는 포스트를 잘 보시면 상속에 대해서 이해가 가시리라 믿습니다. 이번에는 abstract Class에 대해서 알아보려고 합니다. 일명 가상 클래스라고도 하지요~ abstract class에 대해서 자세히 알아볼까요~ 1. abstract class는 객체를 생성할 수 없는 클래스입니다. 2. abstract method는 본문을 선언..
형변환에 대해서... 형변환에 대해서 간단히 설명하고자 합니다~ 뭐 초보인 제가 거창하게 설명하기에는 쉽지 않은 부분이기에...간단히 저같은 초보자가 이해할 수 있는 정도(?)로 설명을 해보려고 합니다~~. 제가 알고 있는 방법(더 있는지 모르겠어요 (__)) 3가지를 말씀해 드리겠습니다. 1. int test = (int)str; 2. int test = str as int; 3. int test = str is int; 이렇게 3가지 형식이 있습니다. 3가지 모두 형변환을 해주지만 기능은 똑같지가 않지요. 1 번의 경우는 형변환이 실패했을 경우 오류가 발생하며 시스템이 죽게 됩니다. 그래서 최근에는 1번과 같은 명시적 형변환을 쓰지 말자는 추세로 가고 있습니다. 2 번의 경우는 형변환이 실패 했을 경우 오류가 발생하지 않..

728x90
반응형