Constructor   생성자

(2019-08-06)
1. [객체지향 프로그래밍]  생성자객체를 생성하는 함수 (멤버 함수)
     - 어떤 클래스객체를 생성할 때, 자동으로 호출되는 특별한 메소드를 말함
     - 객체를 생성할 때, 자동으로 호출될 목적으로, 미리 만들어지어 정의되는 연산
     - 통상, new 연산자에 의해 호출되어 객체 인스턴스를 생성함

  ㅇ 생성자의 역할은, 
     - 객체의 `생성` 외에도,
     - 생성되는 객체에 `초기값 부여`, 기타 `옵션 조정` 등이 가능함


2. [객체지향 프로그래밍]  생성자에 대한 특징

  ㅇ 생성자 규칙
     - (생성자 명칭)
        . 통상, `생성자 이름`은 `클래스 이름`과 같음
        . 또한, 대문자로 시작하여, 소문자로 시작하는 변수명,함수명 등과는 구별시킴
     - (생성자 타입)
        . 객체를 생성하는 함수 처럼 행동하나, 함수 처럼 반환값이 필요없음
        . 생성자는, 통상의 메소드가 아니므로, 
           .. 리턴 타입이나 void형 타입으로, 타입 선언될 수 없음
     - (생성자 내 this 키워드)
        . 생성자 내 클래스 자신을 나타낼 때 this 키워드를 사용하며,
        . 생성자에 의해 생성된 객체이면, 이때 this는 생성된 객체를 가리킴
     - (생성자는 return 문 없음)
        . 생성자 역할은 객체 생성 및 초기화이므로, 굳이 반환값이 필요 없음
     - (생성자 사용)
        . 통상, 'type varObject = new 생성자()' 형식으로, 객체 인스턴스를 만듬
     - (생성자 호출 시기)
        . new 연산자에 의해, 객체 인스턴스가 만들어질 때, 호출됨

     * 例) 자바스크립트의 경우, 생성자 호출 및 객체 생성 과정
        . new 연산자로 생성자 함수를 호출
        . 빈 객체를 만듬
        . 만든 빈 객체를 this에 할당
        . 생성자 함수 본체의 코드를 실행 (this에 속성메소드 추가)
        . 만들어진 빈 객체의 __proto__에 생성자 함수의 prototype 속성을 대입
        . this를 생성자의 반환값(객체)으로 변환시킴

  ㅇ 디폴트 생성자 (default constructor)
     - 아무 인자도 없는 생성자를 말함
        . 이는 따로 정의하지 않아도 시스템컴파일시 기본으로 제공하여주며,
        . 사실 아무일도 하지 않음
     - 생성자를 정의하게되면, 별도로 디폴트 생성자는 만들어지지 않음

  ㅇ 생성자의 반대 : 소멸자(Destructor)


[객체지향 프로그래밍] 1. 객체지향 2. 객체지향 프로그래밍 3. 메세지 4. 생성자 5. 접근 제한 수식자 6. 추상 클래스 7. 인터페이스
[객체,클래스,인스턴스] [객체지향 원리/특징] [다형태성] [객체지향 모델링]

 
        최근수정     요약목록     참고문헌