본문 바로가기

C# WPF

상속에 의한 윈도우 생성

앞의 예에서,

Main()은 static이어야 하고 Main()함수에서 호출되는 CreateWindow() 함수도 static이어야 한다고 했다. static 함수에서 호출해야 하는 함수가 static이어야 한다면, 앞으로 만드는 모든 함수가 static이어야 한단 말인가...

이를 해결하기 위해서 새로운 class인 MyWindow를 만들어서 사용하도록 한다. MyWindow 클래스에서 Window 클래스를 상속하고 객체가 만들어질 때 수행되는 생성자 함수에서 윈도우의 Title, Width, Height 등의 속성을 지정하도록 한다.

 

 

18번째 줄에 있는 class MyWindow : Window 는 MyWindow 클래스가 Window 클래스를 상속한다는 것을 정의한다.

21번째 줄의 public MyWindow() 은 클래스와 이름이 같고 return 값이 없으며 public으로 선언되어 있음에 유의하라. 이 함수를 생성자(constructor)라고 하며, 이 클래스의 객체가 생성될 때 자동으로 실행되는 함수이다.

즉, 13번째 줄의 MyWindow win = new MyWindow(); 에 의해 새로운 MyWindow 객체가 생성될 때 실행되는 함수, 즉 메소드이다.(객체지향언어에서 클래스에 종속된 함수를 메소드라고 한다. C#에서는 모든 함수가 class 안에 정의되므로 함수와 메소드는 같은 뜻이다)

10~15번째 줄의 Main() 은 다음과 같이 쓸 수 있으며, 이것이 더 간단하므로 앞으로 이와 같이 쓰도록 하겠다. 

 static void Main()
 {
      Application app = new Application();
      app.Run(new MyWindow());
 }

 

 

BeeEye 드무

'C# WPF' 카테고리의 다른 글

Event Handler  (0) 2013.07.07
상속에 의한 윈도우 생성(2)  (0) 2013.07.07
Window 객체 생성함수 사용하기  (0) 2013.07.07
Visual Studio 2012에서 첫번째 윈도우 프로그램 만들기  (0) 2013.07.07
Coding Academy 2013  (0) 2013.07.06