C#

43.C# - Constructor (생성자)

Godffs 2009. 8. 11. 20:29
반응형
생성자를 통해 기본값 설정, 인스턴스화를 제한하여 쉽게 코드를 작성가능합니다.
클래스나 구조체의 인스턴스를 생성, 멤버 초기화하며, 사용자가 개체에 대해
생성자를 제공하지 않으면 C#에서는 기본적으로 개체를 인스턴스화하고 모든
멤버 변수에 기본값을 설정하는 생성자를 만듭니다.  [MSDN]


Car.cs
using System;

public class Car //[1] Class
{
    //[2] Field
    private string name; //이름

    //[3] Constructor : 생성자
    //public 이름()가로가 있으면 무조껀 생성자 매개변수가 없는 디폴트 생성자
    public Car() // 클래스이름과 동일한 메서드를 생성자라 한다.
   
    {
        name = "홍길동"; //초기화
    }
 
    public Car(string name) //클래스 이름과 동일한 매개변수가 있는생성자
    {
        this.name = name; //this가 자기 자신 Field의 name을 가르킴
    }

    //마지막순서 1
    static Car()
    {
        Console.WriteLine("언제??");
    }

    //[4] Method
    public void Print()
    {
        Console.WriteLine("이름 {0}", name);
    }

    //마지막순서 2
    public static void Show()
    {
        Console.WriteLine("정적"); ;
    }
}

Programe.cs
using System;

public class 생성자
{
    public static void Main(string[] args)
    {
        Car car = new Car(); // 필드2
       
        car.Print();

        // 생성자 부분  //매개변수가 있는 생성자로 넘어간다.
        Car sonata = new Car("소나타");  //소나타라는 이름으로 기본값을 줌
                             
        sonata.Print(); //소나타 생성

        Car sanatafe = new Car("산타페");
        sanatafe.Print();

        //마지막순서 3
        Car.Show(); //정적 생성자 호출
        //정적인 맴버 static Car 이 가장 먼저 호출된다.
    }
}


반응형