본캠프 21일차_C++ 문법(12)_Class 복습_1

YU YEON WON·2025년 9월 2일

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

1. 오늘 학습 내용(키워드)

1-1. 클래스 만드는 방법

class Player
{
	//멤버 변수
	//멤버 함수
};

▶ 클래스를 만들기 위해서는 처음에 class라는 키워드를 사용
▶ 클래스 범위를 지정한 다음에는 항상 맨 끝에 ; 세미콜론을 붙인다.

1-2. 멤버 함수 변수

▶ 멤버 변수 : 클래스 내부에서 선언
▶ 멤버 함수 : 클래스 내부에서 변수
▶ const : 상수 - 수정이 안된다. 읽기만 가능하다. / 포인터, 레퍼런스 사용시 많이 사용한다.

class Player
{
	int num = 10; //멤버 변수 private

private:
	int num4 = 10;  //멤버 변수 private

public:
	int num2 = 20; //멤버 변수 public

protected:
	int num3 = 30;  //멤버 변수 protected;
};

1-3. 접근지정자

▶ private - 클래스 내부에서만 접근
▶ protected 상속 관계에서만 접근(예. 부모 클래스에서 자식 클래스 내부에서 사용, 외부인 메인 함수에서는 사용 불가)
▶ public - 외부에서 접근

1-4. 클래스의 상속

▶ 상속하는 방법 ---> class Player1 : public PlayerBase // 자식 클래스 이름 : 접근지정자, 부모클래스

1-5. 생성자/소멸자

▶생성자 - 클래스의 객체가 생성될 때 자동으로 호출되어 멤버 변수들을 초기화하는 함수
클래스 자료형으로 변수를 만들면 클래스 내부에 있는 생성자라는 함수가 기본 호출 된다. 변수를 원하는 값으로 넣어 만들 수 있다.

class PlayerBase
{
public:
	float playerHp = 100;
	PlayerBase(float f) // 생성자
	{
		playerHp = f;
		cout << "생성자 호출" << endl;
	}
	~PlayerBase()
	{
		cout << "소멸자 호출" << endl;
	}

};

▶소멸자 - 만들어진 클래스를 소멸하여 메모리를 비우는 키워드 클래스명 앞에 ~ 기호를 넣는다.

~Player()
{};

1-6. 부모/자식 클래스

▶ 부모클래스, 자식클래스 모두 생성자 있는 경우
부모클래스 생성자 먼저 호출하게됨
부모클래스의 생성자 멤버 변수가 초기화 되지 않으면 오류가 생김
예. 부모클래스(float f = 10;) --->(float f;)
▶ 부모 클래스에서 생성자를 만들고 자식클래스에서 생성자를 만들지 않을 경우 아래와 같이 쓸 수 있음.

class Player1 : public PlayerBase
{
public:
	using PlayerBase::PlayerBase;
};

---참고사항---
. - 객체(클래스)의 값
-> - 객체(클래스)의 값

2. 느낀점

오늘 강의를 통해 클래스에 대한 이해가 조금 높아진 것 같고 해당 내용을 잘 외워두어야 겠다.

3. 내일 학습 할 것

5번째 과제 수행(제출까지), C++ 문법 복습 및 팀 프로젝트 준비

profile
🕹️🎮🍱✈️📸 안녕하세요! 게임개발에 도전하고 있습니다!

0개의 댓글