[c언어] C 언어에서의 객체 지향적 설계 예제
C 언어는 주로 절차 지향적인 프로그래밍 언어로 알려져 있지만, 객체 지향적인 설계를 구현할 수 있는 방법도 있습니다. 객체 지향적인 설계를 구현하기 위해서는 구조체를 사용하고, 구조체의 멤버 함수를 이용해야 합니다.
객체 지향적인 설계 예제
#include <stdio.h>
// 구조체 정의
typedef struct {
int radius;
} Circle;
// 멤버 함수 정의
void setRadius(Circle* circle, int r) {
circle->radius = r;
}
float calculateArea(Circle* circle) {
return 3.14 * circle->radius * circle->radius;
}
// 메인 함수
int main() {
Circle myCircle;
setRadius(&myCircle, 5);
float area = calculateArea(&myCircle);
printf("원의 넓이: %f\n", area);
return 0;
}
위 예제에서는 원을 나타내는 Circle
구조체를 정의했습니다. 멤버 함수인 setRadius
와 calculateArea
는 이 구조체를 조작하고, 원의 반지름과 넓이를 계산합니다.
결론
C 언어는 객체 지향적인 설계를 구현하기 위해 구조체와 함수 포인터를 활용할 수 있습니다. 위의 예제에서는 객체 지향적인 설계의 일부를 구현한 것입니다. 하지만 이러한 방식은 C++이나 자바와 같은 다른 객체 지향 언어에 비해 번거로울 수 있습니다.
참고 문헌: https://www.studytonight.com/c/what-is-function-pointer-in-c.php