본문 바로가기

dev, tech/Windows P28

[펌] 4_16 생성자를 호출하는 this() this()는클래스자신의생성자를호출할때도사용합니다.클래스내에서유일하게호출할수없는메서드가있습니다.이메서드가바로생성자(Constructor)입니다.이것을호출하는방법을제공하는것이바로this()입니다. 생성자는아무나호출할수있는것이아닙니다.객체의생성당시여러분이new연산자와같이명시해주는것이생성자입니다.그외의경우생성자를호출할수있는방법은없습니다.이렇게호출하기힘든생성자는유일하게this()를통해서호출할수있는방법이제공됩니다. ▣ this()q 클래스자신의생성자를호출할때도사용q 자신의생성자를재이용하는것q 다른생성자를호출할때생성자호출은제일윗부분에사용해야함 아래는this를이용하여생성자를호출하고있는예입니다. &ThisSelf.csÜ자신의생성자를호출하는this()를테스트한예제using System;public class ThisSe.. 2006. 1. 16.
[펌] 4_13 this 키워드 this란클래스내에서클래스가가지고있는멤버필드또는멤버메서드를직접참조할수있는자신의참조변수입니다. this를사용할때는3가지방법을이용하고있습니다.그예는아래와같습니다. 1this를사용하는곳n 자신의멤버를가리키는this(this.멤버)n 홀로사용되는thisn 생성자를호출하는this() 이예를하나하나알아보면서this의개념에접근하겠습니다.먼저this에대한정의를내리겠습니다. this를다음과같이이야기할수있습니다. ▣ this에대한정리q 자신을참조하는this를이용하여멤버를이용할수있다.q 디자인타임에자기자신을직접참조할수있는참조변수이다.q 디자인타임에자기자신을참조할수있는유일한키워드이다. 자기가자기자신을참조한다는의미가무엇일까요.분명히여러분은this를클래스의디자인타임에사용할수있습니다. this는디자인타임에사용하는것이지,실행타임에t.. 2006. 1. 16.
[펌] 4_17 base 키워드 아버지클래스로부터상속을받았다면아버지클래스의모든것은아들클래스것이됩니다.그래서아들클래스에서는아버지것도내것이요,내것도내것이되니this라는키워드를사용해서아버지의멤버에접근할수있습니다.물론아버지의public이나protected접근지정자를사용하는멤버에만접근할수있습니다.이것은너무나당연한상속개념입니다. 아버지클래스를상속받고아들클래스에서메서드를재정의한후,아들클래스내부에서그메서드를호출한다면,무조건아들의재정의메서드가호출됩니다.재정의자체는아버지의메서드를무시하고있기때문입니다.그런데아들입장에서본다면아들은자신의재정의된메서드와아버지의무시당한메서드2개가존재합니다.아들입장에서아버지의메서드를호출하고자한다면어떻게할까요? base.상위클래스멤버자신이재정의한아버지의메서드를호출할수있게할만큼아버지클래스는너그러울까요?물론이죠.우리의아버지들처럼.무시당.. 2006. 1. 16.
클래스의 생성자 실행 순서 기본 생성자 실행 순서 static void Main(string[] args) { MovieTicket mt = new MovieTicket(5); } public class Ticket { public Ticket() { Console.WriteLine("public Ticket() 생성자가 실행되었습니다."); } public Ticket(int howMany) { Console.WriteLine("public Ticket(int howMany) 생성자가 실행되었습니다."); } }// end of Ticket class public class MovieTicket:Ticket { public MovieTicket() { Console.WriteLine("public MovieTicket() 생성자.. 2006. 1. 16.