[c++] 구조체와 클래스 멤버 함수
이번 포스팅에서는 C++에서 구조체와 클래스의 멤버 함수에 대해 알아보겠습니다.
구조체와 클래스
먼저, 구조체와 클래스를 간단히 설명하자면, 둘 다 여러 개의 데이터를 묶어서 하나의 타입으로 정의하는데 사용됩니다. 하지만, 구조체는 멤버 변수와 메서드를 가질 수 없지만, 클래스는 멤버 변수와 멤버 함수를 가질 수 있습니다.
멤버 함수의 정의
멤버 함수는 클래스나 구조체의 멤버로써 정의되는 함수를 말합니다. 아래의 예제를 통해 간단한 클래스와 구조체의 멤버 함수를 정의하는 방법을 살펴보겠습니다.
구조체의 멤버 함수
#include <iostream>
using namespace std;
struct Point {
int x, y;
void print() {
cout << "x: " << x << ", y: " << y << endl;
}
};
int main() {
Point p;
p.x = 5;
p.y = 10;
p.print(); // 멤버 함수 호출
return 0;
}
위의 예제에서 Point
구조체에 print
멤버 함수를 정의하고 있습니다. 이 함수는 해당 구조체의 멤버 변수를 출력하는 기능을 가지고 있습니다.
클래스의 멤버 함수
#include <iostream>
using namespace std;
class Point {
int x, y;
public:
void setPoint(int x, int y) {
this->x = x;
this->y = y;
}
void print() {
cout << "x: " << x << ", y: " << y << endl;
}
};
int main() {
Point p;
p.setPoint(5, 10); // 멤버 함수 호출
p.print(); // 멤버 함수 호출
return 0;
}
위의 예제에서 Point
클래스에 setPoint
와 print
멤버 함수를 정의하고 있습니다. setPoint
함수는 멤버 변수의 값을 설정하고, print
함수는 해당 클래스의 멤버 변수를 출력하는 기능을 가지고 있습니다.
결론
구조체와 클래스는 각각 멤버 함수를 가질 수 있으며, 멤버 함수를 정의하는 방법은 비슷합니다. 이를 통해 코드의 모듈화와 객체 지향적 설계를 효율적으로 할 수 있습니다.
참고: cplusplus.com