프로그래밍/TIL(Today I Learned)

6강 클래스와 객체(2)

가라멜 2018. 9. 25. 11:07
반응형

1. 소멸자

- 객체가 소멸될 때 수행할 작업을 정의하는 특수한 멤버함수.

- 클래스의 이름과 같으나, 앞에 '~'가 붙음

- return 명령으로 값을 반환할 수 없으며, 소멸자 머리ㅣ에 반환 자료형을 표시하지 않음

- 인수를 전달받을 매개변수를 포함할 수 없음

- 다중정의 할 수 없으며, 클래스에 하나만 정의

- public 으로 선언하는 것이 일반적

- 상속을 통해 파생 클래스를 정의하는 경우 virtual 을 지정하여 가상함수가 되도록 하는 것이 좋음.


2. 생성자의 활용

- 디폴트 생성자 : 매개변수가 없는 생성자, 또는 모든 매개변수에 디폴트 인수가 지정된 생성자.

- 복사 생성자 : 같은 클래스의ㅣ 객체를 복사하여 객체를 만드는 생성자.

: 복사 생성자를 명시적으로 선언하지 않으면 원본 객체의 데이터 멤버들을 그대로 복사하여 객체를 정의하는 복사 생성자가 자동으로 선언


3. static 데이터 멤버와 static 멤버함수

- static 데이터 멤버 : 클래스에 속하는 모든 객체들이 공유하는 데이터 멤버   

   : 객체 생성과 관계없이 프로그램이 시작되면 static 데이터 멤버를 위한 메모리 공간이 할당됨

   : 일반 데이터 멤버와 달리 클래스 선언문 내에서는 선언만 하고 클래스 외부에서 별도로 정의

- static 멤버함수 : 특정 객체에ㅔ 대한 처리를 하는 것이 아니라 소속 클래ㅐ스 단위의 작업을 수행하는 함수

: 객체가 정의되지 않아도 사용 가능