오늘은 튜터님께 보충강의를 들었다. 클래스에 대한 이해가 부족해, 클래스에 대해 배운 내용을 아래에 정리해 본다.

class Player
{
//멤버 변수
//멤버 함수
};
▶ 클래스를 만들기 위해서는 처음에 class라는 키워드를 사용
▶ 클래스 범위를 지정한 다음에는 항상 맨 끝에 ; 세미콜론을 붙인다.
▶ 멤버 변수 : 클래스 내부에서 선언
▶ 멤버 함수 : 클래스 내부에서 변수
▶ const : 상수 - 수정이 안된다. 읽기만 가능하다. / 포인터, 레퍼런스 사용시 많이 사용한다.
class Player
{
int num = 10; //멤버 변수 private
private:
int num4 = 10; //멤버 변수 private
public:
int num2 = 20; //멤버 변수 public
protected:
int num3 = 30; //멤버 변수 protected;
};
▶ private - 클래스 내부에서만 접근
▶ protected 상속 관계에서만 접근(예. 부모 클래스에서 자식 클래스 내부에서 사용, 외부인 메인 함수에서는 사용 불가)
▶ public - 외부에서 접근
▶ 상속하는 방법 ---> class Player1 : public PlayerBase // 자식 클래스 이름 : 접근지정자, 부모클래스

▶생성자 - 클래스의 객체가 생성될 때 자동으로 호출되어 멤버 변수들을 초기화하는 함수
클래스 자료형으로 변수를 만들면 클래스 내부에 있는 생성자라는 함수가 기본 호출 된다. 변수를 원하는 값으로 넣어 만들 수 있다.
class PlayerBase
{
public:
float playerHp = 100;
PlayerBase(float f) // 생성자
{
playerHp = f;
cout << "생성자 호출" << endl;
}
~PlayerBase()
{
cout << "소멸자 호출" << endl;
}
};
▶소멸자 - 만들어진 클래스를 소멸하여 메모리를 비우는 키워드 클래스명 앞에 ~ 기호를 넣는다.
~Player()
{};
▶ 부모클래스, 자식클래스 모두 생성자 있는 경우
부모클래스 생성자 먼저 호출하게됨
부모클래스의 생성자 멤버 변수가 초기화 되지 않으면 오류가 생김
예. 부모클래스(float f = 10;) --->(float f;)
▶ 부모 클래스에서 생성자를 만들고 자식클래스에서 생성자를 만들지 않을 경우 아래와 같이 쓸 수 있음.
class Player1 : public PlayerBase
{
public:
using PlayerBase::PlayerBase;
};
---참고사항---
. - 객체(클래스)의 값
-> - 객체(클래스)의 값
오늘 강의를 통해 클래스에 대한 이해가 조금 높아진 것 같고 해당 내용을 잘 외워두어야 겠다.
5번째 과제 수행(제출까지), C++ 문법 복습 및 팀 프로젝트 준비