🤔 생성자/소멸자
이번 포스팅에서는 C++에서의 생성자/소멸자의 사용 방법을 배워보도록 하겠습니다.
중간고사를 대비하여 정리한 내용이기 때문에 내용이 매우 부실할 수 있습니다.
기회가 된다면 C++언어에 대해 제대로 알아보는 시간을 갖도록 하겠습니다.
해당 포스팅은 장진수 교수님의 객체지향설계 과목을 수강하며 작성한 내용임을 알립니다.
🔎 생성자(Constructors)
생성자는 자동으로 객체 생성시에 값을 초기화해주는 멤버함수입니다.
생성자는 클래스와 같은 이름을 가지고 있습니다.
또한 return 타입을 가지고 있지 않습니다.
오버로딩이 가능하며 직접 호출이 불가능합니다.
✍️ 디폴트 생성자
인자를 가지지 않는 생성자입니다.
사용자가 생성자를 선언하지 않았다면 public 멤버를 자동적으로 제공합니다.
위 코드에서 objAnimal과 funcAnimal() 모두 아무것도 인자로 받지 않았기 때문에 각각의 멤버변수인 numberOfLeg는 4로 동일함을 알 수 있습니다.
✍️ 매개 변수가 있는 생성자
생성자는 매개변수의 변경을 통해 오버로딩이 가능합니다.
위에서 살펴본 코드에서 Anima()이라는 생성자는 두 개로 아래의 Animal(int numberOfLeg)와 같이 다른 매개변수를 인자로 가지면서 오버로딩하여 사용합니다.
✍️ 묵시적, 명시적 호출
아래의 코드를 살펴보았을 때 해당 코드와 같이 나타내면 이를 생성자의 명시적, 묵시적 호출이라고 합니다.
✍️ Copy And Moving
꽤나 어려운 내용이라서 공부를 더 한 뒤에 다시 정리하도록 하겠습니다.
'언어 > C++' 카테고리의 다른 글
[C++] C++언어에서 지원하는 C언어의 문법 (0) | 2022.10.26 |
---|---|
[C++] Namespace (0) | 2022.10.26 |
[C++] 클래스, 함수 오버로딩 (0) | 2022.10.26 |
[C++] 객체지향설계의 이해(실습) (0) | 2022.10.25 |
[C++] 객체지향설계의 이해(class, object, storage duration, abstraction, encapsulation, inheritance, polymorphism,) (0) | 2022.10.25 |