[c언어] C 언어에서의 객체 지향적 코드 재사용
C 언어는 객체 지향적인 프로그래밍을 지원하지는 않지만, 코드를 재사용하고 모듈화하는 기술은 매우 중요합니다.
매크로(Macro)를 활용한 코드 재사용
매크로는 C 언어에서 코드를 작성하는데 도움을 주는 강력한 도구 중 하나입니다. 다음은 매크로를 사용하여 코드를 재사용하는 간단한 예시입니다.
#include <stdio.h>
#define MAX(a, b) ((a) > (b) ? (a) : (b))
int main() {
int x = 5;
int y = 10;
int max_value = MAX(x, y);
printf("The maximum value is %d\n", max_value);
return 0;
}
위 예시에서 MAX
매크로를 사용하여 두 수 중에서 더 큰 값을 반환하는 코드를 재사용했습니다.
함수 포인터를 활용한 코드 재사용
함수 포인터를 사용하면 함수를 다른 함수에 매개변수로 전달하거나 함수의 반환 값으로 사용할 수 있습니다. 이는 C 언어에서 코드를 재사용하고 유연하게 작성하는데 도움이 됩니다.
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int operation(int (*func)(int, int), int x, int y) {
return func(x, y);
}
int main() {
int x = 10;
int y = 5;
printf("Addition: %d\n", operation(add, x, y));
printf("Subtraction: %d\n", operation(subtract, x, y));
return 0;
}
위 예시에서 operation
함수를 선언하고, 함수 포인터를 활용하여 add
와 subtract
함수를 매개변수로 전달하여 코드를 재사용했습니다.
이러한 방법을 통해 C 언어에서도 객체 지향적인 개념을 일부 가져와서 코드를 재사용하고 모듈화할 수 있습니다.
참고 자료: