객체 생성과 객체 활용
객체 생성과 활용 예제
우선 객체를 생성하고 활용하는 예제를 만들어봅시다. 다음 예제는 Circle 클래스의 객체를 생성하고 활용하는 사례로서, main() 함수는 Circle 클래스의 객체 donut과 pizza를 생성하고 활용합니다.
예제 3-1 Circle 클래스의 객체 생성 및 활용
#include <iostream>
using namespace std;
class Circle {
public:
int radius;
double getArea();
};
double Circle::getArea() {
return 3.14 * radius * radius;
}
int main() {
Circle donut;
donut.radius = 1; // donut 객체의 반지름을 1로 설정
double area = donut.getArea(); // donut 객체의 면적 알아내기
cout << "donut 면적은 " << area << endl;
Circle pizza;
pizza.radius = 30; // pizza 객체의 반지름을 30으로 설정
area = pizza.getArea(); // pizza 객체의 면적 알아내기
cout << "pizza 면적은 " << area << endl;
}
실행 결과
donut 면적은 3.14
pizza 면적은 2826
객체 생성과 객체 이름
예제 3-1의 코드를 보면서 객체 생성과 객체 이름에 대해 구체적으로 알아봅시다. 객체는 클래스 모양과 기능을 그대로 간작한 실체로서 이름을 가집니다. 기본 타입의 변수를 선언하는 것과 같은 방법으로 객체를 생성하고 이름을 붙입니다. 다음은 donut과 pizza 이름의 Circle 클래스 객체를 생성하는 코드입니다.
int money; // int 타입의 변수로 money 생성
Circle donut; // Circle 클래스의 객체 생성, 객체 이름은 donut
Circle pizza; // Circle 클래스의 객체 생성, 객체 이름은 pizza
변수가 생성되면 메모리에 변수 공간이 할당되는 것처럼, 객체가 생성되면 클래스 크기의 메모리에 할당됩니다.
객체의 멤버 접근
객체의 멤버에 접근하기 위해서는 다음과 같이 객체 이름 위에 .(점)을 찍고 그 뒤에 멤버를 씁니다.
| 객체이름.멤버 |
이것은 C언어에서 구조체의 필드를 활용하는 방법과 동일합니다. 다음은 donut의 멤버 radius에 1을 쓰는 코드이며,
donut.radius = 1; // donut 객체의 반지름을 1로 설정
다음은 donut의 getArea() 멤버 함수를 호출하는 코드입니다.
double area = donut.getArea(); // donut 객체의 면적 알아내기
이 코드의 실행 결과 getArea()가 리턴한 값이 area에 저장됩니다. donut 객체는 main()에 의해 생성되어 있으므로 area 변수와 함께 main()의 스택에 존재됩니다.
예제 3-2 Rectangle 클래스 만들기
#include <iostream>
using namespace std;
class Rectangle { // Rectangle 클래스 선언
public:
int width;
int height;
int getArea(); // 면적은 계산하여 리턴하는 함수
};
int Rectangle::getArea() { // Rectangle 클래스 구현
return width * height;
}
int main() {
Rectangle rect;
rect.width = 3;
rect.height = 5;
cout << "사각형의 면적은 " << rect.getArea() << endl;
}
실행 결과
사각형의 면적은 15
'프로그래밍 언어 > C++' 카테고리의 다른 글
| 위임 생성자(delegating constructor), 생성자가 다른 생성자 호출 (0) | 2026.06.06 |
|---|---|
| 생성자란? (1) | 2026.06.03 |
| C++ 클래스 만들기 (0) | 2026.05.28 |
| 키보드로 문자열 입력 (0) | 2026.05.25 |
| 키 입력 받기 (1) | 2026.05.22 |