객체 지향 프로그래밍에서 객체의 초기화를 담당하는 서브루틴을 컨스트럭터(생성자)라고 한다. 컨스트럭터는 객체가 처음 생성될 때 호출되어 멤버변수를 초기화 하고, 필요에 따라 자원을 할당하기도 한다. 객체의 생성시에 호출되므로 컨스트럭터(생성자)라는 이름이 붙었다. 컨스트럭터는 대체로 메서드와 같은 모양을 하고 있지만, 값을 반환하지 않는다는 점에서 엄밀한 의미의 메서드(함수)는 아니다. 컨스트럭터는 객체의 생성과 동시에 자동으로 호출되므로 멤버변수(필드)를 초기화 하는데 사용할 수 있다고 했다. 이렇게 멤버변수의 초기화가 필요한 이유는 객체 생성시 컨스트럭터를 필수적으로 호출해야 하기 때문에 한가지 과정을 절약한다는 의미가 있다. 컨스트럭터에도 인수가 없는 컨스트럭터와 인수가 있는 컨스트럭터가 있어서 구..