[C#] 생성자

자몽이·2025년 10월 28일

C# 문법

목록 보기
4/12
post-thumbnail

생성자에 대한 정리이다.

생성자 이름은 클래스 이름과 같아야 한다.
반환 타입은 없고, 아무것도 지정하지 않아야 한다.


1. 생성자

class Rabbit
{
	public string name;
    public int weight;
    
    public rabbit()
    {
    	name = "CuteRabbit";
        weight = 10;
        Console.WriteLine("생성자 호출");
    }
    
}


2. 생성자 사용

Rabbit rabbit = new Rabbit();

클래스 또는 구조체가 인스턴스화 되면 생성자가 호출 된다. new연산자를 사용하면 생성자를 호출한다.


3. 생성자 사용 이유


  • 생성자는 객체를 만들때 어떤 값들이 필요하다 를 강제할 수 있다.
  • 객체가 만들어질 때 반드시 필요한 값들이 빠짐없이 세팅되도록 안전장치로 사용가능하다.
  • 선언 초기화는 단순한 값만 넣을 수 있지만, 생성자는 로직이 포함된 초기화도 가능하다.


생성자를 굳이 왜 쓰는지, 선언하면서 값을 할당하면 더 간단한거 아닌가? 라는 의문이 들었다.
그러나 생성자의 진짜 목적은 '초기값을 넣는 것'이 아니라 객체가 만들어질 때의 규칙을 보장한다.



또한 Unity를 다루면서 생성자를 사용했던적이 드물었다.
그 이유로는,



1. Unity 에서는 생명주기가 생성자 역할을 대신 하기 때문이다.
2. Unity 객체는 Monobehaviour를 상속받아 Unity가 관리하므로 new로 생성되지 않는다.
3. Monobehaviour를 상속받지 않는 일반 C#클래스, 데이터, 유틸리티 클래스 등에는 new를 예외적으로 사용 가능하다.

profile
개발자가 되는 그 날 까지

0개의 댓글