생성자

생성자(영어: constructor, 혹은 약자로 ctor)는 객체 지향 프로그래밍에서 객체의 초기화를 담당하는 서브루틴을 가리킨다. 생성자는 객체가 처음 생성될 때 호출되어 멤버 변수를 초기화하고, 필요에 따라 자원을 할당하기도 한다. 객체의 생성 시에 호출되기 때문에 생성자라는 이름이 붙었다.

Partial Memory Image-Constructor.png

생성자는 대체로 멤버 함수와 같은 모양을 하고 있지만, 값을 반환하지 않는다는 점에서 엄밀한 의미의 함수는 아니다.

문법편집

  • C++, 자바, C#과 같은 언어에서 생성자는 클래스의 이름과 같은 이름을 갖는다. 또한 이들 언어에서는 함수 인자의 개수와 타입에 따라 여러개의 서로 다른 생성자를 정의할 수 있다.
  • 몇몇 언어에서는 생성자를 정의하는 특수한 키워드가 따로 정의되어 있다. 파이썬__init__이라는 함수 이름을 사용하고, 루비initialize라는 이름을 사용하며,[1] 오브젝티브-C는 메모리 할당과 변수 초기화 부분을 분리하여 각각 allocinit이라는 함수 이름을 사용한다.[2]

같이 보기편집

각주편집

  1. 데이브 토머스; 차드 파울러, 앤디 헌트 (2007년 2월 4일). 《프로그래밍 루비》. 강문식, 박지인, 양석호 옮김 2판. 인사이트. 33쪽. ISBN 9788991268258. 
  2. 스티븐 코찬 (2009년 9월 14일). 《프로그래밍 오브젝티브-C 2.0》. 박세현 옮김. 인사이트. 45-46쪽. ISBN 9788966260430.