Blog Content

    티스토리 뷰

    43.C# - Constructor (생성자)

    반응형
    생성자를 통해 기본값 설정, 인스턴스화를 제한하여 쉽게 코드를 작성가능합니다.
    클래스나 구조체의 인스턴스를 생성, 멤버 초기화하며, 사용자가 개체에 대해
    생성자를 제공하지 않으면 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 이 가장 먼저 호출된다.
        }
    }


    반응형

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

    45.C# - Method (메서드 : 함수)  (0) 2009.08.12
    44.C# - Destructor (소멸자/파괴자)  (0) 2009.08.11
    42.C# - Field (필드)  (0) 2009.08.11
    41.C# - Class (클래스)  (1) 2009.08.11
    40.C# - List<T> (리스트 제네릭 클래스)  (0) 2009.08.10

    Comments