기본 문법
#include <iostream>
class C_TEST
{
private:
int m_nData; // 멤버 변수는 m_ 를 붙이자. 단축키 쓸 때 편해짐.
public:
void setData(int nData);
int getData();
};
int main()
{
}
void C_TEST::setData(int nData)
{
m_nData = nData;
}
int C_TEST::getData()
{
return m_nData;
}
클래스는 구조체와 네임스페이스의 기능을 모두 갖고 있다.
클래스와 구조체 차이?
구조체는 함수 못 만드는 줄 알았는데, 버전이 올라가면서 만들 수 있다고 한다.
근데 구조체로 함수 만들거면 클래스로 만들자.
가장 큰 차이점은 사용 용도이다.
구조체는 변수에 직접 접근해서 바꾸는 용도. (변수들의 묶음)
S_TEST.nData = 100; // public이 디폴트이다.
클래스는 정해진 기능으로 변수에 접근해서 바꾸는 용도
C_TEST::setData(100); // private가 디폴트이다.
클래스에서는 변수를 public으로 선언하지 말자.
가장 중요한 것은 클래스는 public 으로 변수 선언을 할 상황이 없다.
구현된 함수들을 이용하여 변수를 사용해야한다는 의도가 담겨있다.
(클래스를 만든 프로그래머의 의도가 포함)
제공되지 않은 함수가 있다면 그것은 그렇게 사용하지 말라는 의도이다.
'기타 > C++' 카테고리의 다른 글
[C++] 클래스 생성자에 대해서 (0) | 2020.08.16 |
---|---|
[C++] 클래스 기본 동작 개념 (0) | 2020.07.10 |
[C++] 네임스페이스 (0) | 2020.06.06 |
[C++] 구조체 (0) | 2020.06.06 |
[C++] 함수와 배열 쓸 때 참고하기 (0) | 2020.06.06 |