클래스: 공통적인 성질의 집합
- 멤버변수, 멤버함수(메서드)로 구성
- class 선언부와 구현부로 나뉨.
- 클래스 선언부 -> .h파일
- 클래스 구현부 -> .cpp 파일
- main함수 -> main.cpp
나누는 이유: 프로그램을 재사용하는데 편리 하기 때문이다.
조건컴파일
- 헤더파일의 중복include 문제 방지
#ifndef CIRCLE_H
#define CIRCLE_H
#endif
접근제어자
private : 클래스내의 메서드만 접근가능
protected : private + 상속된 개체의 메서드만 접근가능
public: 누구든 접근 가능
생성자
- 객체 생성, 초기화가 목적
- class 이름 = 생성자 이름
- 생성 방법
- default 생성자(자동생성)
- user 생성자 정의(자동생성X)
- return 값 없음
- 생성자 매개변수 디폴트 값 설정가능 (이 때 디폴트 값 설정한 매개변수는 뒤로 가야한다)
소멸자
- 목적: 동적메모리 해제, 파일의 저장, 닫기, network 닫기
- ~Circle()
- 묵시적으로 기본소멸자가 자동생성하고 실행함.
- 중복 선언 불가 -> 매개변수가 없기 때문
인라인함수
- 클래스 선언에 구현
- 함수호출에 따른 시간 오버헤드를 줄여 실행시간이 빠를수있다.
- 전체 코드 크기가 증가 할 수 있다.
#include <iostream>
using namespace std;
//선언부
class Student{
int age;
public:
Student(int age = 0){this->age = age;}//생성자
void setName();
~Student();//소멸자
};
//구현부
void Student::setName(){
age = 1;
}
'언어 공부 > C++' 카테고리의 다른 글
6. 오버로딩(Overloading) (0) | 2023.01.14 |
---|---|
5. 복사생성자와 얕은 복사, 깊은 복사 (0) | 2023.01.14 |
4. String class 와 참조 (0) | 2023.01.14 |
3. 객체배열과 동적메모리 (0) | 2023.01.14 |
1. C언어 와 C++의 다른 점 (0) | 2023.01.14 |