35.4 정적 생성자와 인스턴스 생성자
생성자도 정적 생성자와 인스턴스 생성자로 구분할 수 있습니다. 클래스의 정적 멤버를 호출할 때 맨 먼저 호출되는 정적 생성자는 static 키워드로 만들며, 인스턴스 생성자는 public 키워드로 만듭니다.
이번에는 생성자의 여러 가지 종류를 사용해 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
여러 생성자 사용: ConstructorAll.cs
using System; namespace ConstructorAll { public class Person { private static readonly string _Name; private int _Age; static Person() { _Name = "백승수"; } //① 정적 생성자 public Person() { _Age = 21; } //② 인스턴스 생성자: 매개변수가 없는 생성자 public Person(int _Age) //③ 인스턴스 생성자: 매개변수가 있는 생성자 { this._Age = _Age; //this.필드 = 매개변수; } public static void Show() //④ 정적 메서드 { Console.WriteLine("이름 : {0}", _Name); } public void Print() //⑤ 인스턴스 메서드 { Console.WriteLine("나이 : {0}", _Age); } } class ConstructorAll { static void Main() { //ⓐ 정적 생성자 실행 Person.Show(); //정적인 멤버 호출 //ⓑ 인스턴스 생성자 실행 (new Person()).Print(); //인스턴스 멤버 호출 (new Person(22)).Print(); } } }