지난 포스팅에 이어서 C++의 개체 지향 프로그래밍 내용을 정리해 보고자 한다. 복사 생성자 복사 생성자는 나와 같은 클래스에 있는 개체를 매개변수로 받는 생성자이다. 아래처럼 선언하고 구현할 수 있다. // Vector.h class Vector { public: Vector(const Vector& other); private: int mX; int mY; }; // Vector.cpp Vector::Vector(const Vector& other) : mX(other.mX) , my(other.mY) { } 같은 클래스에 속한 다른 개체를 이용하여 새로운 개체를 초기화한다. 코드에 기본 생성자가 없을 경우 컴파일러가 자동으로 기본 생성자를 만들어 주는 특성이 있다고 했었는데, 복사 생성자도 마찬가지..
생성자
자바스크립트 객체와 클래스에 대한 포스팅에 이어 이번에는 프로토타입에 대해서 정리해 보려고 한다. [[Prototype]] 자바스크립트 객체는 [[Prototype]]이라는 내부 프로퍼티가 있고 다른 객체를 참조하는 단순 레퍼런스로 사용한다. [[Prototype]]은 어디에 쓰이는 걸까? 객체 프로퍼티를 참조할 때(myObject.a), 객체는 기본적으로 객체 자체에 해당 프로퍼티가 있는지를 찾고, 만약 있다면 그 프로퍼티를 사용한다. 하지만 만약에 myObject에 a라는 프로퍼티가 없다면 그 다음에는 이 객체의 [[Prototype]] 링크다. 두 번째 예제에서 connectObject는 anotherObject와 [[Prototype]]이 링크되었다. 분명히 connectObject.a 라는 프로..