▣ 클래스 : 설계도, 틀
▣ 객체 : 설계도로 생성된 완성품
▣ 클래스 선언 : class 클래스이름 { }; , class 키워드를 앞에 붙여야 한다.
▣ 멤버변수 : 클래스내부에서 선언하는 변수
▣ 멤버함수 : 반환형 클래스이름::멤버함수이름(매개변수){ } 순으로 생성한다. , (::)는 범위지정연산자
▣ 접근지정자 : public: 클래스 내부, 외부 모두 접근이 가능한 접근지정자
▣ 객체생성 : 클래스이름(자료형) 변수이름;으로 지정한다. 구조체를 생성하는 것과 동일하다.
▣ p1.Damage(50); 객체에 접근할 때에는. 점을 사용한다.
▣ 생성자 : 객체가 생성될 때 자동으로 한번 호출되는 함수, 생성자는 클래스 이름과 동일하게 작성해야 한다.
생성자는 리턴 타입 반환형을 선언하지 않는다,
생성자는 중복이 가능하다(단 매개변수 개수나 타입이 달라야 한다. 함수오버로딩)
▣ 생성자 생성 : 클래스이름::클래스이름(){}, 멤버함수와 생성하는 방식은 비슷하지만 반환형이 없다.
▣ Player p1; 로 객체를 생성할 때 매개변수가 없는 생성자를 호출
▣ Player p2(200)로 객체를 생성할 때 매개변수가 있는 생성자를 호출
▣ 위임생성자 : 생성자가 다른 생성자를 호출
▣ 위임생성자 생성 시 : 클래스이름 ::클래스이름() : 클래스이름(100)
기본 생성자를 선언하는 코드에서 콜론을 하나 붙여서 호출할 생성자를 넣으면 된다.
객체를 생성하게 되면 타깃생성자를 먼저 호출하고 그다음에 본인을 호출한다.
▣ 소멸자 : 객체가 소멸 시 호출되는 함수
소멸자를 생성하기 위해서는 생성자와 동일하게 만들고 ~Player() , ~기호를 클래스 이름 앞에 붙여주면 된다.
소멸자도 생성자와 동일하게 리턴타입이 없다.
소멸자는 매개변수도 없다.
생성자와 소멸자 호출 순서를 확인하면서 공부해야 합니다.
▣ 전역객체가 지역객체보다 빨리 생성자를 호출하고 소멸 시 지역객체가 더 빠르게 호출된다.
▣ private : 클래스 내의 멤버 함수 접근가능
▣ public : 내부, 외부 모두 접근 가능
▣ protected : 상속받은 클래스에서만 접근 가능
▣ 상속클래스 : class 파생클래스이름 : public 부모클래스이름{}
▣ 접근지정자를 지정하지 않을 때에는 기본 private으로 지정(구조체와의 차이 구조체는 기본 public)
'[ C++ ] > - C++ 문법정리' 카테고리의 다른 글
C++ 06 [메모리 할당] (0) | 2023.03.24 |
---|---|
C++ 05 [객체배열] (0) | 2023.03.24 |
C++ 04 [인라인 함수] (0) | 2023.03.22 |
C++ 02 [string, cin.getline(), width(), std::right, 정렬] (0) | 2023.03.03 |
C++ 01 [시작, 역사, 특징, 컴파일, 링킹, 디버깅, cout, cin, namespace] (0) | 2023.02.28 |
댓글