본문 바로가기
프로그래머/코딩(C#)개념정리

C#_클래스_생성자

by FourthWay 2023. 3. 24.
728x90
반응형

생성자란?

객체의 생성과 함께 자동으로 호출되는 것으로 클래스와 같은 이름의 특수한 메소드 이다.

 

 

인수가 없는 생성자

class A

{
  public int a, b, c;

 

  public A()   // A - 클래스와 같은 이름

  {

   a = 0;   //생성자

   b = 0;   //생성자

   c = 0;   //생성자

  }

 ...

}

 

class TestA

{ ...

 A a = new A(); // 객체생성 = 생성자 호출

 ...

}

**생성자에는 반환 값이 없다**
**필드의 초기화 등에 이용한다.**

 

 

 

 

 

인수가 있는 생성자

생성자 호출과 동시에 인수를 전달한다.

 

class B

{
  public int s, t;

 

  public B(int a, int b) // 생성자

  {

   s = a;                     //생성자

   t = b;                      //생성자

  }

 ...

}

 

class TestB

{

...

B b = new B(3, 4); // 생성자에 전달하는 인수

...

}

 

 

코딩ex)

using System;

class Book
{
 public int price;
 public int num = 0;
 public string title;
 
 public Book(string t, int p)  //생성자
 {
  title = t;                   //생성자
  price = p;                   //생성자
 }
 
 public void print()
 {
  Console.WriteLine("제 목: " + title);
  Console.WriteLine("정 가: " + price);
  Console.WriteLine("주문 부수: " + num);
  Console.WriteLine("합계 금액: " + price*num);
 }
}

class Books
{
 static void Main()
 {
  Book book = new Book("C 그림책", 14000);
  book.num = 10;
  book.print();
 }
}


//출력
제 목: C 그림책
정 가: 14000
주문 부수: 10
합계 금액: 140000
728x90
반응형