더북(TheBook)

생성자 포워딩

this() 생성자를 사용하면 생성자를 포워딩(forwarding)할 수 있으므로 다른 생성자에 값을 전달하기 좋습니다.

> class Money
. {
.     public Money() : this(1000) { } //아래 생성자로 전송
.     public Money(int money) => Console.WriteLine("Money : {0:#,###}", money);
. }
>
> var basic = new Money();
Money : 1,000
> var bonus = new Money(2000);
Money : 2,000

생성자 뒤에 오는 this()는 자신의 또 다른 생성자를 의미합니다. 이러한 형태로 다른 생성자를 사용하여 값을 전달할 수 있습니다. 나중에 상속을 배우면 this()와 비슷하게 base()를 사용하여 부모 클래스의 생성자에 값을 전달할 수도 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.