지난 포스팅에 이어서 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) { } 같은 클래스에 속한 다른 개체를 이용하여 새로운 개체를 초기화한다. 코드에 기본 생성자가 없을 경우 컴파일러가 자동으로 기본 생성자를 만들어 주는 특성이 있다고 했었는데, 복사 생성자도 마찬가지..
C
오늘은 C++에서 참조와 문자열에 대해서 공부한 내용을 정리해 보고자 한다. 참조는 값을 매개변수에 전달하는 방식이다. 이를 할 때 C에서는 포인터를 이용한 연산이 많이 있었다. 성능적인 면에서는 우수했을지 모르지만 연산이 복잡해지고 안전하지 않은 경우가 생긴다는 단점이 있었고, 그래서 자바에서는 포인터를 없애면서 쉽게 참조를 하게 되었다. 하지만 그러다보니 성능적으로 아쉬움이 많이 생겼다. 그래서 C++에서는 포인터도 사용하되 포인터가 필요 없을 때는 훨씬 더 안전하게 참조를 하는 방법도 생겼다. 어떤 데이터를 불러오는 것을 호출이라고 하는데, 참조할 때도 이 개념이 쓰인다. 호출은 크게 두 가지로 나누어서 생각할 수 있는데 값에 의한 호출(Call By Value)과 참조에 의한 호출(Call By ..