더북(TheBook)

35.1 생성자

클래스의 구성 요소 중에는 생성자(constructor)라는 메서드가 있습니다. 단어 그대로 개체를 생성하면서 무엇인가를 하고자 할 때 사용되는 메서드입니다. 일반적으로 생성자는 개체를 초기화(주로 클래스 내 필드를 초기화)하는 데 사용됩니다. 생성자는 생성자 메서드라고도 합니다. 이러한 생성자는 독특한 규칙이 있는데, 바로 생성자 이름이 클래스 이름과 동일하다는 것입니다. 클래스 내에서 클래스 이름과 동일한 이름을 갖는 메서드는 모두 생성자입니다.

생성자는 매개변수가 없는 기본(default) 생성자가 있고, 매개변수를 원하는 만큼 정의해서 사용할 수도 있습니다. 이때 반환값은 가지지 않습니다. 또 생성자도 static 생성자(정적 생성자)와 public 생성자(인스턴스 생성자)로 구분됩니다. 일반적으로 public 키워드를 사용하는 인스턴스 생성자를 많이 사용합니다.

생성자에 대한 간단한 데모 코드를 살펴보겠습니다. 다음 코드는 Car 클래스 내에 Car()란 이름으로 인스턴스 생성자를 만들었습니다. 이처럼 생성자는 클래스 안에서 클래스 이름과 동일한 이름의 메서드로 만듭니다. 생성자는 다른 메서드와 달리 반환값을 지정하지 않고 메서드와 동일하게 어떤 기능을 수행하는데, 주로 클래스의 멤버 값을 초기화합니다. 다음 코드는 화면에 “Constructor” 문자열을 출력하는 기능만 합니다.

> class Car
. {
.     public Car()
.     {
.         Console.WriteLine("Constructor");
.     }
. }
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.