[C#] 확장 매서드 extend method (라이브러리에 매서드를 추가할 수 있다?) 만약에 우리가 라이브러리를 구매해서 사용하는데 (클래스라고 할께요) 이 클래스에 우리가 원하는 매서드를 추가하면 참 편하게 프로그래밍할 수 있는데 라이브러리는 이미 기계어로 컴파일되어있기에 수정이 참 거의 불가능하죠 그래서 이 때 사용할 수 있는게 바로 C#의 확장매서드(extend method) 기능입니다. 위 코드를 한번 쭉 읽어주세요. Point클래스를 누가 만들어 놓은 클래스라고 가정합니다. 그리고 우리는 Print라는 매서드를 추가해서 사용하고 싶다면, 우선 첫번째로 static 클래스가 필요합니다. 위에서는 AAA클래스가 되겠죠. 그리고 두번째로 public static 매서드가 필요합니다. C#에서는 수..
[C-sharp#] Timers event 타이머 이벤트 사용 C# 중에서 이벤트. 그 중에서 타이머 이벤트에 대해서 알아보겠습니다. 아직 람다를 공부하지 않았기에 아주 간단히 딱 쓰는 방법만 알아보고 추후에 자세히 포스팅하기로 하겠습니다. 타이머는 말 그대로 특정 시간마다 특정 이벤트를 해주는 녀석입니다. 우선 타이머 객체인 t를 생성해주고 new를 사용해서 초기화 해줍니다.(당연?..) 그리고 Timer 필드인 Interval을 설정하는데 이때 1000은 1초를 설정해주는 것 입니다. 그 후에 뭔지모를 람다라는 것을 사용해서 이벤트를 등록합니다. 여기서 등록한 이벤트는 Hello출력입니다. 그리고 Start()매서드를 사용해서 시작해주면 끝입니다. (?) 그럼 위와같이 1초마다 Hello가 출력되는 ..
[C#] IEnumerable Interface 열거자 인터페이스 C#은 다중상속이 문법적으로 불가능한 개발언어입니다. 그대신 인터페이스가 존재하며 인터페이스를 통한 간접적인 다중 상속이 가능합니다. 그 중에서 IEnumerable 인터페이스를 한번 알아보게 습니다. 위 코드 내용을 전체적으로 살펴보면, Person 즉 사람 객체가 있고 사람객체를 Student, Professor (학생, 교수) 이 두 객체가 상속해서 클래스를 구현해둔 모습을 알 수 있습니다. 학생객체 및 교수객체는 부모클래스 멤버 매소드인 Print매서드를 오버라이드해서 재 구현해주고 있습니다. 그렇게되면 부모객체배열(사람배열)을 생성해서 자식인 학생,교수 객체를 각각 넣어준뒤에 Print()해주면 각각 재정의해준 Print매서드가 ..