본문 바로가기
Programming/C++

Class 객체 선언 방식 2가지

by 꿈꾸는 띵땅근 2021. 1. 1.
학습 내용
1. 지역적인 범위에서 객체 선언
2. 동적할당

1. 지역적인 범위에서 객체 선언
class Person
{
    int age;
public:
    Person(int age)
    {
        this->age = age;
        cout << "생성자 호출 / 나이 :" << age << endl;
    }
    ~Person()
    {
        cout << "소멸자 호출" << endl;
    }
    void GetAge()
    {
        cout << "나이는 : " << age << "입니다." << endl;
    }
};

이렇게 있으면,  

Person person01(15);  

이렇게 하는것은, 스택 메모리에 올린것. 

함수에서 잠깐 쓰고 마는것. 

함수 벗어나면 메모리 자동 해제. 


2. 동적할당
Person *person02 = new Person(30);

이렇게 하면, Heap 메모리에 올린것. 

동적으로 메모리 할당한것으로, 런타임중에 할당됨. 

사용자가 delete 해주지 않으면, 메모리 누수 발생...

 

 

 

 

 

 


출처
https://yoon90.tistory.com/13
 

[C++] 객체생성의 두가지 방법과 차이

처음 클래스를 배운 사람이라면 누구나 이러한 고민을 해본적이 있을 것입니다. 객체를 생성하는 방법이 왜 2가지일까? 그리고 이것은 무슨 차이일까? 먼저 예제를 보여드리도록 하겠습니다. 1 2

yoon90.tistory.com

 

댓글